![]() |
[讨论]matlab解一维偏微分方程的讨论
(1)形如 du/dt + a*du/dx = v*du2/dx2(二次偏导数) 的一阶偏微分方程可用pde函数求解
如下例: 0<x<1,0<t<0.00006; 初值u(x,0) = 0;边值u(0,t)=1,u(1,t)=0;参数a=10000,v=1; 编程如下: function pdexvv m = 0; x = linspace(0,1,101); t = linspace(0,0.00006,501); sol = pdepe(m,@pdexvvpde,@pdexvvic,@pdexvvbc,x,t); u = sol(:,:,1); figure plot(x,u(end,:),'-r') title('Numerical solution and exact solution.') xlabel('x') ylabel('u(x,end)') %---------------------------------------------- function [c,f,s] = pdexvvpde(x,t,u,DuDx) c = 1; f = DuDx; s = -10000.*DuDx ; %--------------------------------------------- function u0 = pdexvvic(x) u0 = 0; %---------------------------------------------- function [pl,ql,pr,qr] = pdexvvbc(xl,ul,xr,ur,t) pl = ul-1; ql = 0; pr = ur; qr = 0; 可以很方便的求解,但是对于含点源的问题,不知道能否用pde求解 即相对于(1)中的问题,方程右端多了一个源项SS(x0); 当x0=0.3时,SS=1;其他SS=0 初步编程如下: function pdexvv m = 0; x = linspace(0,1,101); SS = zeros(size(x)); N = length(x); for n = 1:N if x(n)==0.3; SS(n) = 1.; end end t = linspace(0,0.00006,501); sol = pdepe(m,@pdexvvpde,@pdexvvic,@pdexvvbc,x,t,SS); u = sol(:,:,1); figure plot(x,u(end,:),'-r') title('Numerical solution and exact solution.') xlabel('x') ylabel('u(x,end)') %---------------------------------------------- function [c,f,s] = pdexvvpde(x,t,u,DuDx,SS) c = 1; f = DuDx; s = -10000.*DuDx + SS ; %--------------------------------------------- function u0 = pdexvvic(x) u0 = 0; %---------------------------------------------- function [pl,ql,pr,qr] = pdexvvbc(xl,ul,xr,ur,t) pl = ul-1; ql = 0; pr = ur; qr = 0; 但总调试不过去 报错如下 ??? Input argument 'ss' is undefined. Error in ==> C:\MATLAB6p5p1\work\pdexvvd.m (pdexvvpde) On line 24 ==> s = -10000.*DuDx + ss ; Error in ==> C:\MATLAB6p5p1\toolbox\matlab\funfun\pdepe.m On line 238 ==> c = feval(pde,xi(1),t(1),U,Ux,varargin{:}); Error in ==> C:\MATLAB6p5p1\work\pdexvvd.m On line 13 ==> sol = pdepe(m,@pdexvvpde,@pdexvvic,@pdexvvbc,x,t,ss); 请大家不吝指教 |
这个问题我想错了么?
有没有人愿意指点我,谢谢 |
取消pdexvvpde函数输入参量中对SS的声明,把点源函数的定义放到函数pdexvvpde里试试
|
感谢watcher
谢谢指教,该问题按照您的指点已解决
|
所有时间均为北京时间。现在的时间是 03:21。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.