⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 funch.m

📁 用Monte-Carlo方法解决二维Ising模型
💻 M
字号:
function Hsigma=FuncH(sigma)
%函数调用格式: Hsigma=FuncH(sigma)
%输出:      sigma - 读入sigma的值,注意本函数的读入仅适用于sigma
%                    是矩阵,即二维数组的情况
%输出值:      Hsigma - 返回H(sigma)的值,即状态sigma的能量
% 说明:       本文中J=1


%初始化Hsigma和n
Hsigma=0;
Hsigma2=0;
n=length(sigma);
J=1;

%n为sigma的实际边长M-1

%对横向相邻格点求和
for i=1:n
    for j=1:n-1
        Hsigma=Hsigma+sigma(i,j)*sigma(i,j+1);
    end
    Hsigma=Hsigma+sigma(i,1)*sigma(i,n);
    if (i==1)
        Hsigma=2*Hsigma; 
    end
end

%纵向相邻格点求和
for j=1:n
    for i=1:n-1
        Hsigma2=Hsigma2+sigma(i,j)*sigma(i+1,j);
    end
    Hsigma2=Hsigma2+sigma(1,j)*sigma(n,j);
    if (j==1)
        Hsigma2=2*Hsigma2;
    end
end

%乘上系数 -J
Hsigma=Hsigma+Hsigma2;
Hsigma=-1*J*Hsigma;

end
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -