有pde工具箱,实现了查分方法的 用matlab分别求解最简显式,最简隐式和六点对称格式求解抛物型方程混合问题【要完整的程序图示,写的好的有加分,谢谢啦~⊙▽⊙】
求解二维抛物线型偏微分方程matlab程序 function[u,x,y,t]=TDE(A,D,T,ixy0,bxyt,Mx,My,N)解方程 u_t=c(u_xx+u_yy)for D(1)(2),D(3)(4),0初值:u(x,y,0)=ixy0(x,y)边界条件:u(x,y,t)=bxyt(x,y,t)for(x,y)cBMx/My:x轴和y轴的等分段数N:t 轴的等分段数dx=(D(2)-D(1))/Mx;x=D(1)+[0:Mx]*dx;dy=(D(4)-D(3))/My;y=D(3)+[0:My]'*dy;dt=T/N;t=[0:N]*dt;初始化ufor i=1:Mx+1for j=1:My+1u(i,j)=ixy0(x(i),y(j));endendrx=A*dt/(dx*dx);rx1=1+2*rx;rx2=1-2*rx;ry=A*dt/(dy*dy);ry1=1+2*ry;ry2=1-2*ry;for i=1:Mx-1%(11.2.21a)P(i,i)=ry1;if i>;1P(i-1,i)=-ry;P(i,i-1)=-ry;endendfor j=1:My-1%(11.2.21b)Q(j,j)=rx1;if j>;1Q(j-1,j)=-rx;Q(j,j-1)=-rx;endendfor k=1:Nu_1=u;t=k*dt;for i=1:Mx+1%边界条件u(i,1)=feval(bxyt,x(i),y(1),t);u(i,My+1)=feval(bxyt,x(i),y(My+1),t);endfor j=1:My+1u(1,j)=feval(bxyt,x(1),y(j),t);u(Mx+1,j)=feval(bxyt,x(Mx+1),y(j),t);endif mod(k,2)=0for i=2:Mxj=2:My;bx=[ry*u(i,1)zeros(1,Mx-3)ry*u(i,My+1)]+rx*(u_1(i-1,j)+u_1(i+1,j))+rx2*u_1(i,j);u(i,j)=linsolve(P,bx');(11.2.21a)endelsefor j=2:Myi=2:Mx;by=[rx*u(1,j);zeros(My-3,1);rx*u。
MATLAB大神求救,帮忙看下我的程序错在哪了? 你这是个函数啊亲,不能直接运行的,要在别的程序里调用的!
matlab怎么解偏微分方程 看到这个问题,本来想略过的,但还是留下来说了句。经常看到网上有人这样问问题,你这么问我猜没有人会回答的,想回答也没办直接回答。问的太大了,太模糊了。首先,偏微方程是一个很大的概念,什么偏微分方程,抛物的,椭圆的还是双曲的?也没有方程具体表达,其次解方程的条件是什么,第一类边界,第二类还是第三类边界条件?还有,你这里说的用matlab解,指什么方法,差分,有限元还是谱方法?这些都没有说明,既使这些都给定了,方程中多处一个非线性项什么的,解的方法都不一样,就一句话,这么问问题是不对的。