如何用matlab求解微分方程组

 我来答
冒树花邗媚
2019-01-17 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:26%
帮助的人:687万
展开全部
使用符号运算工具。
首先定义变量符号
syms
s
x
t;
使用字符串定义公式
eq1
=
'diff(x,
t)
=
0.11*s*x/(0.06*x+s)';
eq2
=
'diff(s,
t)
=
(-1)*0.029*x-0.234*s/(0.006*x+s)-s/(30*s^2+300*s+0.03)';
接下来是求解
比如现在要求解s,下面的代码可以给出s的表达式
solution
=
solve(eq1,
eq2,
s);
接下来求值
首先给变量赋值
x
=
1;
t
=
1;
之后运行
result
=
eval(solution);
可以求出解。
我现在写出的代码可能有错误,不过思路是这样的。我没调试。详细情况可以搜索
matlab
符号运算。
蓟竹青释娟
2019-12-08 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.3万
采纳率:28%
帮助的人:863万
展开全部
这说明此微分方程没有显示解,应用数值方法求解,例如ode45等函数
就一个例子(选自matlab帮助文档)
解入下微分方程组
1,建立方程组函数
function
dy
=
rigid(t,y)dy
=
zeros(3,1);
%
a
column
vectordy(1)
=
y(2)
*
y(3);dy(2)
=
-y(1)
*
y(3);dy(3)
=
-0.51
*
y(1)
*
y(2);
2,求解并绘图
[T,Y]
=
ode45(@rigid,[0
12],[0
1
1]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式