偏微分方程数值解法MATLAB源码.doc

偏微分方程数值解法MATLAB源码.doc

ID:50945346

大小:138.00 KB

页数:16页

时间:2020-03-16

偏微分方程数值解法MATLAB源码.doc_第1页
偏微分方程数值解法MATLAB源码.doc_第2页
偏微分方程数值解法MATLAB源码.doc_第3页
偏微分方程数值解法MATLAB源码.doc_第4页
偏微分方程数值解法MATLAB源码.doc_第5页
资源描述:

《偏微分方程数值解法MATLAB源码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、[原创]偏微分方程数值解法的MATLAB源码【更新完毕】说明:由于偏微分的程序都比较长,比其他的算法稍复杂一些,所以另开一贴,专门上传偏微分的程序谢谢大家的支持!其他的数值算法见:..//Announce/Announce.asp?BoardID=209&id=82450041、古典显式格式求解抛物型偏微分方程(一维热传导方程)function[Uxt]=PDEParabolicClassicalExplicit(uX,uT,phi,psi1,psi2,M,N,C)%古典显式格式求解抛物型偏微分方程%[Uxt]=PDEParabolicClassical

2、Explicit(uX,uT,phi,psi1,psi2,M,N,C)%%方程:u_t=C*u_xx0<=x<=uX,0<=t<=uT%初值条件:u(x,0)=phi(x)%边值条件:u(0,t)=psi1(t),u(uX,t)=psi2(t)%%输出参数:U-解矩阵,第一行表示初值,第一列和最后一列表示边值,第二行表示第2层……%     x-空间变量%     t-时间变量%输入参数:uX-空间变量x的取值上限%     uT-时间变量t的取值上限%     phi-初值条件,定义为内联函数%     psi1-边值条件,定义为内联函数%     p

3、si2-边值条件,定义为内联函数%     M-沿x轴的等分区间数%     N-沿t轴的等分区间数%     C-系数,默认情况下C=1%%应用举例:%uX=1;uT=0.2;M=15;N=100;C=1;%phi=inline('sin(pi*x)');psi1=inline('0');psi2=inline('0');%[Uxt]=PDEParabolicClassicalExplicit(uX,uT,phi,psi1,psi2,M,N,C);%设置参数C的默认值ifnargin==7  16/16C=1;end%计算步长dx=uX/M;%x的步长

4、dt=uT/N;%t的步长x=(0:M)*dx;t=(0:N)*dt;r=C*dt/dx/dx;%步长比r1=1-2*r;ifr>0.5  disp('r>0.5,不稳定')end%计算初值和边值U=zeros(M+1,N+1);fori=1:M+1  U(i,1)=phi(x(i));endforj=1:N+1  U(1,j)=psi1(t(j));  U(M+1,j)=psi2(t(j));end%逐层求解forj=1:N  fori=2:M     U(i,j+1)=r*U(i-1,j)+r1*U(i,j)+r*U(i+1,j);  endendU

5、=U';%作出图形mesh(x,t,U);title('古典显式格式,一维热传导方程的解的图像')xlabel('空间变量x')ylabel('时间变量t')zlabel('一维热传导方程的解U')return;古典显式格式不稳定情况16/16古典显式格式稳定情况2、古典隐式格式求解抛物型偏微分方程(一维热传导方程)function[Uxt]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C)%古典隐式格式求解抛物型偏微分方程%[Uxt]=PDEParabolicClassicalImplic

6、it(uX,uT,phi,psi1,psi2,M,N,C)%%方程:u_t=C*u_xx0<=x<=uX,0<=t<=uT%初值条件:u(x,0)=phi(x)%边值条件:u(0,t)=psi1(t),u(uX,t)=psi2(t)%%输出参数:U-解矩阵,第一行表示初值,第一列和最后一列表示边值,第二行表示第2层……%     x-空间变量%     t-时间变量%输入参数:uX16/16-空间变量x的取值上限%     uT-时间变量t的取值上限%     phi-初值条件,定义为内联函数%     psi1-边值条件,定义为内联函数%     ps

7、i2-边值条件,定义为内联函数%     M-沿x轴的等分区间数%     N-沿t轴的等分区间数%     C-系数,默认情况下C=1%%应用举例:%uX=1;uT=0.2;M=50;N=50;C=1;%phi=inline('sin(pi*x)');psi1=inline('0');psi2=inline('0');%[Uxt]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C);%设置参数C的默认值ifnargin==7  C=1;end%计算步长dx=uX/M;%x的步长dt=uT/N

8、;%t的步长x=(0:M)*dx;t=(0:N)*dt;r=C*dt/dx/dx

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

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

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