资源描述
偏微分的MATLAB数值解法,偏微分的MATLAB数值解法,方法一:pdepe函数实现 方法二:pdetool实现 方法三:程序实现,方法一:pdepe函数实现,MATLAB提供的pdede函数,可以求解一般的偏微分方程组,其调用格式: sol =pdepe(m,pdefun,pdeic,pdebc,x,t),方法一:pdepe函数实现,pdefun(函数格式描述): c,f,s=pdefun(x,t,u,du),方法一:pdepe函数实现,pdebc(边界条件描述): pa,qa,pb,qb=pdebc(x,t,u,du) a:左边界,b:右边界,方法一:pdepe函数实现,pdeic(初值条件描述): 形式:u(x,t0)=u0 u0=pdeic(x) m,x,t对应函数式中参数,方法一:pdepe函数实现,应用实例:,方法一:pdepe函数实现,应用实例: pdefun: function c,f,s=pdefun(x,t,u,du) c=1; f=400*du; s=0; pdebc: function pa,qa,pb,qb=pdebc(xa,ua,xb,ub,t) pa=ua; qa=0; pb=ub; qb=0;,方法一:pdepe函数实现,pdeic: function u0=pdeic(x) if x10 u0=0; elseif x30 u0=1; else u0=0; end,方法一:pdepe函数实现,x=0:1:40; t=0:0.01:0.2; m=0; sol=pdepe(m,pdefun,pdeic,pdebc,x,t); b=sol(20,:); plot(x,b); title(the solution of u) xlabel(x) ylabel(y) zlabel(u),方法一:pdepe函数实现,方法二:pdetool实现,1.pdetool界面 2.选定求解微分方程类型(双曲线、抛物线、椭圆、特殊值型)并设定参数 3.绘制求解区域 4.边界条件和初值条件(Dirichlet和Neumann) 5.生成网格 6.求解方程并绘制图形,方法二:pdetool实现,应用实例:,方法二:pdetool实现,方法三:程序实现,1.利用差分思想对微分方程进行离散,确立微分格式 2.确立边界条件和初始条件 3.程序求解并绘制图形,方法三:程序实现,应用实例: 波动方程,方法三:程序实现,程序: function U=pianj(a,b,m,n) h = a/(m-1); k = b/(n-1); r = h/k r2=r2; s2=2-2*r2; for j=1:m U(1,j)=0; U(2,j)=0; end for i=1:n U(i,1)=0; U(i,m)=2*sin(i-1)*k); end for i=3:n for j=2:m-1 U(i,j) = s2*U(i-1,j)+r2*U(i-1,j-1)+r2*U(i-1,j+1)-U(i-2,j); end end,方法三:程序实现,偏微分的MATLAB数值解法,方法总结: 1.pdede调用简单,但计算功能稍弱 2.pdetool使用方便,但限于四种方程类型 3.程序编写较为繁琐,
展开阅读全文