首先可以肯定的告诉你,matlab本身有个pde工具箱,可以求解一般的典型二阶线性偏微分方程。但是,对于非线性的偏微分方程,我估计很难直接用matlab的工具箱或者函数命令得到结果。因为这涉及到一个数学处理的问题,你首先要处理这个非线性问题,或者用数值的方法处理,然后再用matlab编程计算。
function pdex1
m=0;
x=linspace(0,1,20);
t=linspace(0,2,5);
sol=pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
u=sol(:,:,1);
surf(x,t,u)
figure
plot(x,u(end,:))
function[c,f,s]=pdex1pde(x,t,u,DuDx)
c=pi^2;
f=DuDx;
s=u^2;
function u0=pdex1ic(x)
u0=sin(pix);
function [pl,ql,pr,qr]=pdex1bc(x1,u1,xr,ur,t)
pl=u1;
ql=0;
pr=piexp(-t);
qr=1;
用matlab编写偏微分方程组,可以参考百度文库的这篇文档
,理论
及实践都写的很详细
。
>
用 ode 系列求偏微分的数值解,,用dsolve求解析解
这是ode的
建立M函数文件
function dx=myfun(t,x)
dx(1)=20/7x(1)-x(2)x(3);
dx(2)=-10x(2)+x(1)x(3);
dx(3)=-4x(3)+x(1)x(2);
dx=dx(:);
matlab窗口主程序
x0=[3,-4,2];
t0=0001:0001:20;
[t,x]=ode45('myfun',[0001,20],x0); %ode45会自动调整步长
x(:,:,1)
plot(t,x)
legend('x','y','z')
dsovle不是很难,,自己好好看看,,,
呵呵
1、首先要打开MATLAB R2016a软件,如下图所示。
2、然后在打开的页面中,选择默认模式(Generic Scalar)-标量模式,具体如图。
3、建立几何模型,绘制两个椭圆,再定义边界条件,具体如图所示。
4、再定义PDE类型和系数,如下图所示。
5、并将其三角形网格化,具体如图所示。
6、最后可以对PDE图形进行求解了,如图所示就完成了。
MATLAB里面有相关的函数
(1)拉普拉斯方程形式的椭圆型偏微分方程
五点差分格式求解偏微分方程的函数是:peEllip5
五点差分格式求解偏微分方程的函数是:peEllip5m
(2)双曲型偏微分方程
迎风格式接函数peHypbYF
等等一些方法,高级一些的MATLAB书籍上都有介绍,可以弄本来看看,也可以去MATLAB论坛看看,具体函数的用法可以help+函数名,看一下MATLAB是怎么解释的
请问用matlab怎么解
dx/dt=2y^2-2
dy/dt=2yz-x-1
dz/zt=2z^2-2y-x0=[1
0
2];
%微分变量区间
tspan=[3
0];
%注意这里必须写成[3
0]
以上就是关于怎样用matlab求解非线性微分方程全部的内容,包括:怎样用matlab求解非线性微分方程、matlab pdepe求解偏微分方程、怎么用matlab编写偏微分方程组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)