首页 > 编程知识 正文

matlab解含参数的微分方程组,matlab源代码怎么用

时间:2023-05-04 21:18:24 阅读:33272 作者:737

《偏微分方程数值解法MATLAB源码》可供会员共享,在线阅读。 更多相关《偏微分方程数值解法MATLAB源码(27页珍藏版)》请在人人文库网搜索。

1、源代码【已更新】偏微分方程数值解法的MATLAB原始说明:偏微分的程序都很长,比其他算法稍微复杂,要另外粘贴。 谢谢你上传了偏微分的程序。 有关其他数字算法,请参见./Announce/Announce.asp? BoardID=209id=8245004,抛物型偏微分方程(一维热传导方程)1function uxt=pdeparabolicclassicalexplicit ) UX、uT、phi、psi1、psi2、m

2、hi、psi1、psi2、m、n、c(%方程: u_t=C*u_xx 0 if r )不稳定0.5,disp(rend计算初始值和边缘值) u=zeros (m1,N 1 ); I=13360m1foru(I,1 )=phi ) I; endj=1:n1foru(1,j )=psi1) t ) j; u(m1,j )=psi2) t ) j; end逐层求解%j=1:nforI=2:mforu(I,j 1 )=r*u ) I-1,j ) r1*U(i,j ) r*u ) I1,j; 结束u=u; %图形mesh(x、t、u ); )经典显式格式,一维热传导方程解的示意图ti。

3、tle(x ) xlabel (空间变量t )时间变量ylabel ) zlabel (一维热传导方程解return; 经典形式不稳定状况2/16经典形式稳定状况2、经典隐式形式抛物型偏微分方程(一维热传导方程) function uxt=pdeparabolicclassicalimplicit ) UX、uT、phi、psi1、psi2、m、n、 c ) %经典隐式形式抛物型偏微分方程(uxt=pdeparabolicclassicalimplicit (UX,uT,phi,psi1,psi2,m,n,c ) %方程) u_t=c*u_xx

4、16 )差分格式不稳定!lax-Friedrichsdisp(|c*r|1end )1(1) j=1:nforI=2:mforu(I,j 1)=(u ) I1,j ) u ) I-1, j )/2-c )为1,1 (1) 165结束%计数- isaacson-rees差分格式计数- acsonreescasec 0c * r1if (计数- isaacson-r1if 按层求解end % j=1: nfo ri=2: m foru (I,j 1 )=c * r * u (I-1,j ) )1-C*r ) u ) I,

5、j; 结束结束% leap-frog (蛙跳)差分格式LeapFrog case psi2=); 请输入第2层的初始值条件函数。 phi2=输入(ABS (c* r )1 if ) Leap-Frog差异格式不稳定。 disp(c*r|1,end %第二层初始值条件I=1:m1foru(I,2 )=phi2) x ) I; 14/16 end % j=2: nfo ri=2: m foru (I,j 1 )=u ) I,j-1 )-c*r*(u ) I1,j )-u ) I-1,j ); 结束增量格式% lax-wendrofflaxwendroffcaseabs (c )。

6、*r(1if )差分格式不稳定! DISP(|c*r|1,Lax-Wendroff end为%j=1:nforI=2:mforu(I,j 1 )=u ) I,j )-c*r* ) ) I1,j %矩阵的对角线元素low=Zeros(1,M-2 ); %矩阵的下对角线元素up=Zeros(1,M-2 ); %矩阵的上对角。

7、线元素I=1:m-2fordiag(I )=4; low(I )=-r*C; up(I )=r*C; 结束诊断(m-1 )=4; b=Zeros(M-1,m-1 ); I=1:m-2forb(I,I )=4; b(I,i 1)=-r*C; b(I1,I )=r*C; endb(M-1,m-1 )=4; ()分段求解,需要使用追赶法(调用函数eqtsforwardandbackwardj=1: nfo Rb1=zeros (m-1,1 ); B1(1)=r*c* ) u ) 1,j 1) u ) 1,j )/2; 15/16B1(m-1 )=-r*c* ) u ) m1,j 1) u ) m1,j )/2; b=b*u(23360m,j ) b1; u ) U(2:M,j 1 )=eqtsforwardandbackward(low,Diag,Up,b ); end otherwise (差分格式类型输入错误! 返回(disp ); 结束u=u; 制作图形%mesh(x,t,u ); ); 用格式求解一阶双曲型方程解的图像title(typex ); 空间变量xlabel(t; ylabel (时间变量u ); 一阶双曲型方程的解zlabel(return; 16之十六。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。