这个例子展示了如何用MATLAB建立和求解三种不同类型的微分方程 。 MATLAB提供了几种数值算法来求解各种各样的微分方程 。
需要这些哦
matlab软件
电脑
方式/
1初值问题
范德波德莫是界说范德波尔方程的函数 。
type vanderpoldemo
2按“Enter”键 。
如图1所示 。
文章插图
3方程被写当作一个二阶一阶赋格 。 对于参数Mu的分歧值 , 对它们进行计较 。 为了加速积分速度 , 我们按照参数μ的值来选择合适的求解器 。
对于μ=1 , 肆意一个MATLAB的ODE解算器都能有用地求解范德波尔方程 。 下面利用的ODE45求解器就是这样一个例子 。 方程在[0,20]域内求解 。
tspan = [0, 20];
y0 = [2; 0];
Mu = 1;
ode = @(t,y) vanderpoldemo(t,y,Mu);
[t,y] = ode45(ode, tspan, y0);
% Plot of the solution
plot(t,y(:,1))
xlabel('t')
ylabel('solution y')
title('van der Pol Equation, \mu = 1')
4按“Enter”键 。
得图2所示 。
文章插图
5对于较大的μ量级 , 问题变得棘手 。 快速积分需要特别的数值方式 。 ODe15S、ODe23S、ODe23T和ODe23Tb能有用地解决刚性问题 。
这里是一个解决范德波尔方程的μ=1000利用ODe15S 。
tspan = [0, 3000];
y0 = [2; 0];
Mu = 1000;
ode = @(t,y) vanderpoldemo(t,y,Mu);
[t,y] = ode15s(ode, tspan, y0);
plot(t,y(:,1))
title('van der Pol Equation, \mu = 1000')
axis([0 3000 -3 3])
xlabel('t')
ylabel('solution y')
6按“Enter”键 。
得图3所示 。
文章插图
7边值问题
Bvp4C求解常微分方程边值问题 。
示例函数TWOODE有一个微分方程 , 它被写当作二阶一阶ODEs系统 。
type twoode
8TWOBC的鸿沟前提 。
type twobc
9在利用Bvp4C之前 , 我们必需为我们想要在网格上暗示的解决方案供给一个猜测 。 然后求解器调整网格以细化解决方案 。
BVPINIT以求解器Bvp4C所需的形式调集了最初的猜测 。 对于初始网格[0 1 2 3 4]和常量猜测的y(x)=1 , y'(x)=0 , 像这样挪用BVPINIT:
solinit = bvpinit([0 1 2 3 4],[1; 0]);
10有了这个初步的猜想 , 我们就可以解决Bvp4C的问题 。
溶液溶胶(如下图) , 然后用DEVAL计较并绘制 。
sol = bvp4c(@twoode, @twobc, solinit);
xint = linspace(0, 4, 50);
yint = deval(sol, xint);
plot(xint, yint(1,:),'b');
xlabel('x')
ylabel('solution y')
hold on
11按“Enter”键 。
得图4所示 。
文章插图
12这个特别的边值问题正好有两个解 。 获得的另一个解是对
y(x) = -1, y'(x) = 0
像以前一样绘图 。
solinit = bvpinit([0 1 2 3 4],[-1; 0]);
sol = bvp4c(@twoode,@twobc,solinit);
xint = linspace(0,4,50);
yint = deval(sol,xint);
plot(xint,yint(1,:),'r');
推荐阅读
- excel怎么绘制复合条饼图
- 怎么找回四六级准考证号
- excel怎么快速拆分文本
- matlab中怎么使用图与矩阵
- 电脑版钉钉怎么下载直播视频
- matlab怎么使用稀疏矩阵
- 电脑版钉钉怎么查看直播数据
- matlab中如何表示“稀疏矩阵的图形“
- 魔兽世界8.3部落怎么前往纳沙塔尔
- 猫发情几天配种 母猫发情怎么解决