如何用matlab求解微分方程组
2个回答
展开全部
使用符号运算工具。
首先定义变量符号
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
符号运算。
首先定义变量符号
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
符号运算。
富港检测技术(东莞)有限公司_
2024-04-02 广告
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发...
点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
展开全部
这说明此微分方程没有显示解,应用数值方法求解,例如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),'.')
结果
就一个例子(选自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),'.')
结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询