Problems in running Dsolve

3 次查看(过去 30 天)
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 个评论
Sergio Manzetti
Sergio Manzetti 2017-12-8
编辑:Sergio Manzetti 2017-12-8
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

请先登录,再进行评论。

采纳的回答

Birdman
Birdman 2017-12-8
编辑:Birdman 2017-12-8
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 个评论
Pablo Estuardo
Pablo Estuardo 2020-2-13
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
Hey, did you find any solution to this error?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Equation Solving 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by