24小时热门版块排行榜    

查看: 789  |  回复: 1

Xinlqy

铁杆木虫 (小有名气)


[求助] 用MATLAB求解微分方程组时PDEPE函数中不知道怎么表示方程组

本人MATLAB小白,望大神们帮帮忙。  
如下图的方程组,想用pdepe函数求解,应该可以吧?看来MATLAB里面的例子,可是到输入方程组时不知道怎么表示,比如下面这个,f 和 s 怎么表示啊?
另外这个边界条件有怎么表示啊?大神们拜托了,谢谢。
CODE:
function [c,f,s] = pdex3pde(x,t,u,DuDx)
%被调用的函数,其作用是描述偏微分方程
c = [1; 1; 1; 0];
f =   
s =   

微分方程组:

用MATLAB求解微分方程组时PDEPE函数中不知道怎么表示方程组
1.JPG

边界条件:
用MATLAB求解微分方程组时PDEPE函数中不知道怎么表示方程组-1
2.JPG


用MATLAB求解微分方程组时PDEPE函数中不知道怎么表示方程组-2
3.JPG
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Xinlqy

铁杆木虫 (小有名气)


另:刚刚自己试着编写了点,结果出不来啊,是不是代码不对??急啊。。。。。。
CODE:
function pdex44 %pdex3为文件名
clc
m = 0;
x = [0 0.005 0.01 0.05];
t = [0 0.005 0.01 0.05];

sol = pdepe(m,@pdex44pde,@pdex44ic,@pdex44bc,x,t);
%pdepe函数,用于直接求解偏微分方程,其形式为sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan)
%下面为作图步骤

u1 = sol(:,:,1);
% ui = sol(:,:,i) is an approximation to the ith component of the solution vector u .
u2 = sol(:,:,2);

figure
surf(x,t,u1)
title('u1(x,t)')
xlabel('Distance x')
ylabel('Time t')

figure
surf(x,t,u2)
title('u2(x,t)')
xlabel('Distance x')
ylabel('Time t')

% --------------------------------------------------------------
function [c,f,s] = pdex44pde(x,t,u,DuDx)
%被调用的函数,其作用是描述偏微分方程
c = [1; 1; 1; 0];
f = [80*DuDx(1); (2.4*10^6)*DuDx(2)-6*(10^5)*u(2).*DuDx(4); (2.4*10^6)*DuDx(3)-(6*10^5)*u(3).*DuDx(4); DuDx(4)];
s = [2888*u(1).*DuDx(1).*DuDx(4)-(5.2*10^-5)*u(1).*(u(1)-u(2))+10350*u(2); 10350*u(2); (9.6*10^-14)*u(2).*((DuDx(4)).^2)-(3.8*10^-13)*DuDx(2).*DuDx(4)-(2.099*10^-9)*u(3); (1.8*10^-8)*(u(1)-u(2))];

% --------------------------------------------------------------
function u0 = pdex44ic(x);
%此函数是用来描述初值
u0 = [10^6; 10^7; 0; 0];
% --------------------------------------------------------------
function [pl,ql,pr,qr] = pdex44bc(xl,ul,xr,ur,t)
%此函数用来描述边界条件
pl = [0; -(1772036.5/4)*ul(2); (1772036.5/4)*ul(3); -500];
ql = [1; 1; 1; 1];
pr = [0; -(1772036.5/4)*ul(2); (1772036.5/4)*ul(3); 0];
qr = [1; 1; 1; 1];

2楼2015-09-15 16:28:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Xinlqy 的主题更新
信息提示
请填处理意见