資源簡介
本程序是用五點差分格式解拉普拉斯方程,采用MATLAB作為開發環境,拉普拉斯方程有廣泛的應用,五點差分格式的精度高
代碼片段和文件信息
function?u?=?peEllip5(nxminxmaxxnyminymaxy)
format?long;
hx?=?(maxx-minx)/(nx-1);
hy?=?(maxy-miny)/(ny-1);
u0?=?zeros(nxny);
for?j=1:ny
????u0(j1)?=?EllIni2Uxl(minxminy+(j-1)*hy);
????u0(jnx)?=?EllIni2Uxr(maxxminy+(j-1)*hy);
end
for?j=1:nx
????u0(1j)?=?EllIni2Uyl(minx+(j-1)*hxminy);
????u0(nyj)?=?EllIni2Uyr(minx+(j-1)*hxmaxy);
end?
A?=?-4*eye((nx-2)*(ny-2)(nx-2)*(ny-2));
b?=?zeros((nx-2)*(ny-2)1);
for?i=1:(nx-2)*(ny-2)
????if?mod(inx-2)?==?1
????????if?i==1
????????????A(12)?=?1;
????????????A(1nx-1)?=?1;
????????????b(1)?=?-?u0(12)?-?u0(21);
????????else
????????????if?i?==?(ny-3)*(nx-2)+1
????????????????A(ii+1)?=?1;
????????????????A(ii-nx+2)?=?1;
????????????????b(i)?=?-?u0(ny-11)?-?u0(ny2);
????????????else
????????????????A(ii+1)?=?1;
????????????????A(ii-nx+2)?=?1;
????????????????A(ii+nx-2)?=?1;
????????????????b(i)?=?-?u0(floor(i/(nx-2))+21);
????????????end
????????end
????else
????????if?mod(inx-2)?==?0
????????????if?i?==?nx-2
????????????????A(ii-1)?=?1;
????????????????A(ii+nx-2)?=?1;
????????????????b(i)?=?-?u0(1nx-1)?-?u0(2nx);
????????????else
?????
- 上一篇:經典功率譜估計和現代譜估計方法
- 下一篇:高斯差分濾波器 matlab
評論
共有 條評論