Matlab: differential equation: starting conditions are wrong?

2 visualizaciones (últimos 30 días)
I solved manually: with
but if I solve it with Matlab:
syms v(t) g alpha m v0;
D = diff(v,t) == g - alpha/m*v;
c1 = v;
cond = c1(0) == v0;
S = dsolve(D,cond);
pretty(S)
I get a different solution, even if I'm sure mine is right.
I know this topic is a little vast, but maybe some of you talented people has time to investigate

Respuesta aceptada

Cris LaPierre
Cris LaPierre el 9 de Mayo de 2021
Editada: Cris LaPierre el 9 de Mayo de 2021
I'm no expert, but isn't the integral equal to
That way, the algebra works out to match the result MATLAB is giving you
syms v(t) g alpha m v0;
D = diff(v,t) == g - alpha/m*v;
cond = v(0) == v0;
S = dsolve(D,cond)
S = 
which simplifies to

Más respuestas (1)

Walter Roberson
Walter Roberson el 9 de Mayo de 2021
syms v(t) g alpha m v0;
D = diff(v,t) == g - alpha/m*v;
c1 = v;
cond = c1(0) == v0;
S = dsolve(D,cond);
sum(cellfun(@(X) collect(X,[g,m,alpha]), children((collect(expand(S),g)))))
ans = 

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by