| 查看: 416 | 回复: 1 | |||
[求助]
求助,帮我分析下程序哪里出了问题?求指教
|
|
function H=Ha(nx,nz,hm,epslong,elta,N,w2,Ps,d,L) rj=d/2; u2=2*pi*N/60; deltax=2*pi*rj/(nx-1) deltaz=L/(nz-1) delta=2*pi/(nx-1) h=zeros(nx+1,nz+1); a=zeros(nx+1,nz+1); b=zeros(nx+1,nz+1); c=zeros(nx+1,nz+1); d=zeros(nx+1,nz+1); e=zeros(nx+1,nz+1); f=zeros(nx+1,nz+1); ff=zeros(nx+1,nz+1); k=1; Ax=12*elta*u2*L/(hm^2*Ps); Az=12*elta*w2*L/(hm^2*Ps); for i=1:nx theta=delta*(i-1); h(i, =hm*(1+epslong*cos(theta+delta/2));end S=0; T=0; ERR=1e-3; GAP=1; while GAP>ERR k=k+1 for j=2:1:nz-1 if i==1 a(i,j)=h(i,j)^3/deltax^2-3*h(i,j)^2*(h(i+1,j)-h(nx,j))/(4*deltax^2); b(i,j)=h(i,j)^3/deltax^2+3*h(i,j)^2*(h(i+1,j)-h(nx,j))/(4*deltax^2); c(i,j)=-2*h(i,j)^3/deltax^2-2*h(i,j)^3/deltaz^2; d(i,j)=h(i,j)^3/deltaz^2; e(i,j)=h(i,j)^3/deltaz^2; ff(i,j)=(a(i,j)*f(nx,j)+b(i,j)*f(i+1,j)+d(i,j)*f(i,j-1)+e(i,j)*f(i,j+1))/(-c(i,j)); elseif i==nx a(i,j)=h(i,j)^3/deltax^2-3*h(i,j)^2*(h(1,j)-h(i-1,j))/(4*deltax^2); b(i,j)=h(i,j)^3/deltax^2+3*h(i,j)^2*(h(1,j)-h(i-1,j))/(4*deltax^2); c(i,j)=-2*h(i,j)^3/deltax^2-2*h(i,j)^3/deltaz^2; d(i,j)=h(i,j)^3/deltaz^2; e(i,j)=h(i,j)^3/deltaz^2; pp(i,j)=(a(i,j)*f(i-1,j)+b(i,j)*f(1,j)+d(i,j)*f(i,j-1)+e(i,j)*f(i,j+1))/(-c(i,j)); else if pp(i,j)<0 pp(i,j)=0; else end end end for i=2:1:nx-1 if j==1 a(i,j)=h(i,j)^3/deltax^2-3*h(i,j)^2*(h(i+1,j)-h(i-1,j))/(4*deltax^2); b(i,j)=h(i,j)^3/deltax^2+3*h(i,j)^2*(h(i+1,j)-h(i-1,j))/(4*deltax^2); c(i,j)=-2*h(i,j)^3/deltax^2-2*h(i,j)^3/deltaz^2; d(i,j)=h(i,j)^3/deltaz^2; e(i,j)=h(i,j)^3/deltaz^2; ff(i,j)=(a(i,j)*f(i-1,j)+b(i,j)*f(i+1,j)+d(i,j)*Ps^2+e(i,j)*f(i,j+1))/(-c(i,j)); elseif j==nz a(i,j)=h(i,j)^3/deltax^2-3*h(i,j)^2*(h(i+1,j)-h(i-1,j))/(4*deltax^2); b(i,j)=h(i,j)^3/deltax^2+3*h(i,j)^2*(h(i+1,j)-h(i-1,j))/(4*deltax^2); c(i,j)=-2*h(i,j)^3/deltax^2-2*h(i,j)^3/deltaz^2; d(i,j)=h(i,j)^3/deltaz^2; e(i,j)=h(i,j)^3/deltaz^2; ff(i,j)=(a(i,j)*f(i-1,j)+b(i,j)*f(i+1,j)+d(i,j)*f(i,j-1)+e(i,j)*f(i,j+1))/(-c(i,j)); else if ff(i,j)<0 ff(i,j)=0; else end end end if i==1&&j==1 p(i,j)=Ps elseif i==nx&&j==1 p(i,j)=Ps elseif i==1&&j==nz a(i,j)=h(i,j)^3/deltax^2-3*h(i,j)^2*(h(1,j)-h(i-1,j))/(4*deltax^2); b(i,j)=h(i,j)^3/deltax^2+3*h(i,j)^2*(h(1,j)-h(i-1,j))/(4*deltax^2); c(i,j)=-2*h(i,j)^3/deltax^2-2*h(i,j)^3/deltaz^2; d(i,j)=h(i,j)^3/deltaz^2; e(i,j)=h(i,j)^3/deltaz^2; ff(i,j)=(a(i,j)*f(nx,j)+b(i,j)*f(i+1,j)+d(i,j)*f(i,j-1)+e(i,j)*f(i,nz))/(-c(i,j)); elseif i==nx&&j==nz a(i,j)=h(i,j)^3/deltax^2-3*h(i,j)^2*(h(1,j)-h(i-1,j))/(4*deltax^2); b(i,j)=h(i,j)^3/deltax^2+3*h(i,j)^2*(h(1,j)-h(i-1,j))/(4*deltax^2); c(i,j)=-2*h(i,j)^3/deltax^2-2*h(i,j)^3/deltaz^2; d(i,j)=h(i,j)^3/deltaz^2; e(i,j)=h(i,j)^3/deltaz^2; ff(i,j)=(a(i,j)*f(i-1,j)+b(i,j)*f(1,j)+d(i,j)*f(i,j-1)+e(i,j)*f(i,nz-1))/(-c(i,j)); else if ff(i,j)<0 ff(i,j)=0; else end end for i=2:1:nx for j=2:1:nz S=sum(sum(abs(ff-f))); T=sum(sum(abs(f))); end end GAP=S/T; f=ff end |
» 猜你喜欢
高温原位观察夹杂物对奥氏体晶界迁移的钉扎作用
已经有0人回复
双辊连铸无Co马氏体时效钢热处理过程中的相变机制
已经有0人回复
工程热物理与能源利用论文润色/翻译怎么收费?
已经有61人回复
高温原位观察钢降温过程中的析出相
已经有0人回复
搅拌铸造制备复合材料中的疑问
已经有0人回复
采用高温激光共聚焦显微镜结合差示扫描色度法对单相金属凝固过程进行研究
已经有0人回复
高温激光共聚焦显微镜在研究钢铁中非金属夹杂物的应用
已经有0人回复
祈祷面上基金能中
已经有33人回复
纳米压痕仪的前世今生
已经有0人回复
KLA Instruments™为仪器行业提供值得信赖的量测技术
已经有0人回复
2楼2016-03-19 00:24:51











=hm*(1+epslong*cos(theta+delta/2));
回复此楼