一维伊辛模型MATLAB.docx

一维伊辛模型MATLAB.docx

ID:60781981

大小:10.89 KB

页数:2页

时间:2020-12-18

一维伊辛模型MATLAB.docx_第1页
一维伊辛模型MATLAB.docx_第2页
资源描述:

《一维伊辛模型MATLAB.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一维伊辛模型MATLAB源代码clear;clc;%本次模拟中,J=1,k=1kT=0.1:0.1:5;kT_len=length(kT);num=102;Ising=sign(2*rand(1,num)-1);%初始构型N=2*10^5;%------初始化,预分配内存------%E_total=zeros(1,kT_len);E_squ=zeros(1,kT_len);C=zeros(1,kT_len);M_total=zeros(1,kT_len);fori=1:kT_lenE_sum=0;E_squ_su

2、m=0;M_sum=0;forturn=1:NE_old=E_calc(Ising);ri=randi([1,num],1);ifri==1ri=num-1;endifri==numri=2;endIsing(ri)=-Ising(ri);%选择其中一个原子使其自旋态相反E_new=E_calc(Ising);E_diff=E_new-E_old;ifE_diff>0&&exp(-E_diff/kT(i))<=rand()Ising(ri)=-Ising(ri);%保持原来的构型不变endifturn>N/2E=E

3、_calc(Ising);M=sum(Ising)./num;E_sum=E_sum+E;E_squ_sum=E_squ_sum+E^2;M_sum=M_sum+M;endendE_total(i)=E_sum/(N/2);E_squ(i)=E_squ_sum/(N/2);C(i)=(E_squ(i)-E_total(i).^2)/(kT(i).^2);M_total(i)=M_sum/(N/2);end%-------画图部分--------%subplot(131),plot(kT,E_total,'--*b'

4、),xlabel('kT'),ylabel('能量');title('温度与能量关系图');subplot(132),plot(kT,C,'--*r'),xlabel('kT'),ylabel('热容');title('温度与热容关系图');subplot(133),plot(kT,M_total,'--*k'),xlabel('kT'),ylabel('磁化强度');title('温度与磁化强度关系图');%------函数文件部分,需另外新建函数文件,并保存------%function[E]=E_calc(I

5、sing)%用于计算该构型下的能量len=length(Ising);E=0;fori=2:len-1E=E-Ising(i)*(Ising(i-1)+Ising(i+1))/2;end

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。