Matlab中Simulink求解常微分方程

Matlab中Simulink求解常微分方程,matlab,simulink,solver,ode,differential-equations,Matlab,Simulink,Solver,Ode,Differential Equations,我需要用Simulink解决这个问题,但我不知道怎么做。 我只知道如何使用ODE解算器 y'' - y' - 2y = e^(3x) y(0)=1, y'(0)=2. 我重写了方程,得到了一个常微分方程: y' = f(x,y) y(x0) = y0 y'1 = y2 y2= e^(3*x) + y' + 2y 使用ODE解算器 如果有人能帮我用Simulink模型解决这个问题,我将不胜感激 我知道如何在Matlab中使用ode23和ode23s等ODE解算器进行求解,但我不知道如

我需要用Simulink解决这个问题,但我不知道怎么做。 我只知道如何使用ODE解算器

y'' - y' - 2y = e^(3x)

y(0)=1, y'(0)=2.
我重写了方程,得到了一个常微分方程:

y' = f(x,y)

y(x0) = y0

y'1 = y2

y2= e^(3*x) + y' + 2y 
使用ODE解算器

如果有人能帮我用Simulink模型解决这个问题,我将不胜感激

我知道如何在Matlab中使用ode23和ode23s等ODE解算器进行求解,但我不知道如何使用Simulink模型进行求解


提前谢谢

你能用封闭形式解决吗?对我来说似乎可行。我建议任何人在开始数值解之前,如果可能的话,把答案拿在手上

这是我得到的。检查我:

y(x) = e^(-x)*(8e^3x + 3e^4x + 1)/12
他说这是正确的

(注意:x值较大时出现问题-此响应将以e^3倍的速率增长。)

需要将其表示为一组耦合的一阶常微分方程

y' = z

z' = z + 2y + e^(3x)
边界条件变为:

y(0) = 1
z(0) = 2

您可以在Simulink中逐项设置方程,通过双击并设置相应字段,将初始条件添加到积分器中

所以快速实现看起来像

我假设你的x是一个类似时间的量,因此我放置了一个渐变函数。时钟等也可以


或者,您可以明确考虑初始条件,形成状态空间系统或传递函数

y
的初始条件是
y(0)=1
而不是
y(0)=0
。不过还是投了赞成票。谢谢你的更正。我看错了。我会改正的。我喜欢用微笑来纠正这个打字错误,谢谢你的实施。我还需要确定范围,我应该把范围放在哪里?@jorreto取决于你想看什么。您可以将一个连接到y分支,这是提到解决方案时的典型选择。