解出象征性的初始条件

21日视图(30天)
约翰
约翰 2015年9月14日
评论道: 明星黾 2015年9月14日
一个二阶质量、阻尼、弹簧系统可以解决
信谊h (t) m c k h0 dh0 C10 C11
Dh = diff (h (t), t);
方程式= m * diff (h (t), t, t) = = - c * Dh-k * h (t);
索尔= dsolve(方程式);
h0 =潜艇(sol t 0);
dh0 =潜艇(diff(溶胶,t), t, 0);
如何修改解决方案(sol)使用最初的行使(h0 dh0) ?我想确定转移矩阵,给出h, dh 0时刻,找到转移矩阵,X,在以后给h, dh t。我在寻找一个解决方案
ic =解决({h0, dh0}, {C10, C11})
1评论
约翰
约翰 2015年9月14日
基于斯坦的回答,改变问题解决一阶形式,如下
信谊h (t) m c k h0 dh0 C10 C11
Dh (t) = diff (h (t), t);
方程式= m * diff (h (t), t, t) = = - c * Dh-k * h (t);
%索尔= dsolve(方程式,h (0) = = h0 Dh (0) = = dh0);
var = (h (t));
[eqs1st, vars1st newVars1st] = reduceDifferentialOrder(方程式一样,var);
sol1st = dsolve (eqs1st h (0) = = h0 Dh (0) = = dh0);

登录置评。

接受的答案

明星黾
明星黾 2015年9月14日
我不确定你在问什么。它很容易把你的初始条件 dsolve 调用,它的文档:
信谊h (t) m c k h0 dh0 C10 C11
Dh (t) = diff (h (t), t);
方程式= m * diff (h (t), t, t) = = - c * Dh-k * h (t);
索尔= dsolve(方程式,h (0) = = h0 Dh (0) = = dh0);
你也可以做积分数值 数值 ,可能更容易,特别是如果你使用 odeToVectorField 函数来创建系统一阶常微分方程的数值解决歌唱。如果你做一个数字集成,不包括在你的微分方程的初始条件。指定在 数值 而不是打电话。
3评论
明星黾
明星黾 2015年9月14日
odeToVectorField 函数应该做你想做的事情。(我使用,而不是 reduceDifferentialOrder )。然后我利用这个结果,有时 matlabFunction 创建匿名函数,使用数值解决歌唱,因为他们将(在大多数情况下)解决衍生品以及功能。

登录置评。

更多的答案(0)

标签

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!