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

📄 test.m

📁 用Monte-Carlo方法解决二维Ising模型
💻 M
字号:
function [newHsigma,newHsigmaa,newsigma]=test(sigma)
n=length(sigma);
k=unidrnd(n);
l=unidrnd(n);
newsigma=sigma;
newsigma(k,l)=-sigma(k,l); %随机变化一个sigma中的值   

    if l==n
        deltax=2*(sigma(k,l-1)*sigma(k,l)+sigma(k,1)*sigma(k,l));
    elseif l==1
        deltax=2*(sigma(k,l+1)*sigma(k,l)+sigma(k,n)*sigma(k,1));
    else
        deltax=2*(sigma(k,l-1)*sigma(k,l)+sigma(k,1+1)*sigma(k,l));  
    end
    if k==1
        deltax=2*deltax;
    end
    if k==n
        deltay=2*(sigma(k-1,l)*sigma(k,l)+sigma(1,l)*sigma(k,l));
    elseif k==1
        deltay=2*(sigma(k+1,l)*sigma(k,l)+sigma(k,l)*sigma(n,l));
    else
        deltay=2*(sigma(k-1,l)*sigma(k,l)+sigma(k+1,l)*sigma(k,l));  
    end
    if l==1
        deltay=2*deltay;
    end
    Hsigma=FuncH(sigma);
    newHsigma=Hsigma+deltax+deltay;
    newHsigmaa=FuncH(newsigma);

⌨️ 快捷键说明

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