Solving a Second Order Differential Equation

回答(2 个)

syms x t y(t)
dx = diff(x, t)
dx = 
0
dy = diff(y, t)
dy(t) = 
x is not a function of t so its derivative with respect to t is 0.
y is a function of t so its derivative with respect to t is not 0. [It could be, if you substituted a constant into dy for y, but it's not always zero.]
dyForConstant = subs(dy, y, 5)
dyForConstant(t) = 
0
dyForNonconstant = subs(dy, y, sin(t))
dyForNonconstant(t) = 

1 个评论

@Steven Lord I was getting the same error with the y instead of x. The error said there is no differential equations found. So I switched them not knowing that dx = 0. But I still cannot solve this.
I get this when I remove the % for the cond

请先登录,再进行评论。

Here is what I get:
>> syms y(t)
>> eqn = 4*diff(y,t,2)+32*diff(y,t)+24*y^3 == 192;
>> Dy = diff(y,t);
>> cond = [y(0)==1.5, Dy(0)==0];
>> ySol(t) = dsolve(eqn,cond)
Warning: Unable to find symbolic solution.
> In dsolve (line 216)
ySol(t) =
[ empty sym ]
Maybe not surprising that it can't find a symbolic solution given the y^3 term. So you could use a numeric solver instead. E.g.,
f = @(t,y) [y(2);(192 - 32*y(2) - 24*y(1)^3)/4];
[t,y] = ode45(f,[0 10],[1.5;0]);
plot(t,y(:,1)); grid on

类别

帮助中心File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by