Problems in running Dsolve

3 vues (au cours des 30 derniers jours)
Sergio Manzetti
Sergio Manzetti le 8 Déc 2017
Hi, I have apparently run dsolve in such a way that I got an error in the solution, and now have to re-do the whole thing.
The problem I wanted to solve with dsolve is:
if true
% code
end
syms h r v(x)
h = 4.5
g = 4/pi
A = pi
expr = [h^2*(diff(v, 2)+2*i*h*diff(v) - g == 0)]
cond = v(0) == A*cos(x);
sol(x) = dsolve(expr,cond)
s = sol(x)
however I get the result:
Error using mupadengine/feval (line 166) Invalid equation or initial condition.
Error in dsolve>mupadDsolve (line 336) T = feval(symengine,'symobj::dsolve',sys,x,options);
Error in dsolve (line 194) sol = mupadDsolve(args, options);
Error in PDE_sol (line 11) sol(x) = dsolve(expr,cond)
any idea what went wrong?
Thanks!
  1 commentaire
Sergio Manzetti
Sergio Manzetti le 8 Déc 2017
Modifié(e) : Sergio Manzetti le 8 Déc 2017
PS: Trying another variant,
if true
% code
end
eqn = h.^2.*diff(y,t, 2) + g.*i.*diff(y, t)== a;
cond = y(0) == 5;
ySol(t) = dsolve(eqn,cond)
and it gives the strangest result:
C29 - (a*t*11150372599265311570767859136324180752990208i)/5959077882784213 + (124330809102446660538845562036705210025114037699336929360115994223289874253133343883264*a*h^2)/35510609213087978610768722029369 - exp(-(t*5959077882784213i)/(11150372599265311570767859136324180752990208*h^2))*((124330809102446660538845562036705210025114037699336929360115994223289874253133343883264*a*h^2)/35510609213087978610768722029369 + C29 - 5)
why is MATLAB making those horrible huge numbers? When I tried such simple eqns in the previous MATLAB I got simple results

Connectez-vous pour commenter.

Réponse acceptée

Birdman
Birdman le 8 Déc 2017
Modifié(e) : Birdman le 8 Déc 2017
v(0) == A*cos(x)
You can not give a symbolic function(cos(x)) as an initial condition. You need something like
v(0)==0
You also need one more initial condition because you have second order differentiation in your equation. Otherwise you will see constants in your solution.
Try this:
syms h r v(x)
h = 4.5
g = 4/pi
A = pi
expr = [h^2*(diff(v, 2)+2*i*h*diff(v) - g == 0)];
Dv=diff(v);
cond = [v(0) == 0,Dv(0)==0];
sol = vpa(dsolve(expr,cond),4)
  10 commentaires
Pablo Estuardo
Pablo Estuardo le 13 Fév 2020
A similar error using Dsolve here my friends,..
clear all
close all
syms u(t) v(t) f taux tauy Hm rho R u0 v0
du = diff(u);
dv = diff(v);
DE = [du - f*v == taux/(Hm*rho) - R*u; dv + f*u == tauy/(Hm*rho) - R*v]
Soln = dsolve(DE, u(0)==u0, v(0)==v0)
Error using mupadengine/feval (line 163)
The equations are invalid.
Error in dsolve>mupadDsolve (line 336)
T = feval(symengine,'symobj::dsolve',sys,x,options);
Error in dsolve (line 193)
sol = mupadDsolve(args, options);
I will appreciate any suggestion
Adarsh Narayan Pandey
Adarsh Narayan Pandey le 2 Nov 2020
Hey, did you find any solution to this error?

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by