Hello, I've got the problem. Can any one help me with that error?

1 view (last 30 days)
syms x(t)
D3x = diff(x, t, 3);
D2x = diff(x, t, 2);
Dx = diff(x, t);
eqn = diff(x, t, 2)+2*diff(x, t)+x == 2;
cond = [x(0)==0, diff(x, t)==0];
xSol(t) = dsolve (eqn,cond)
Warning: Number of equations greater than number of indeterminates. Trying heuristics to reduce to square system.
> In symengine
In mupadengine/evalin_internal
In mupadengine/feval_internal
In dsolve>mupadDsolve (line 334)
In dsolve (line 203)
Error using mupadengine/feval_internal
Unable to reduce to square system because the number of equations differs from the number of indeterminates.
Error in dsolve>mupadDsolve (line 334)
T = feval_internal(symengine,'symobj::dsolve',sys,x,options);
Error in dsolve (line 203)
sol = mupadDsolve(args, options);

Answers (2)

Walter Roberson
Walter Roberson on 24 Jan 2023
cond = [x(0)==0, diff(x, t)==0];
The first part of that sets a boundary condition. The second part of it says that the derivative of x(t) is zero, which is a second equation rather than a boundary condition. The only way to satisfy diff(x, t) == 0 is if x(t) is constant
You probably wanted Dx(0)==0 or similar

KSSV
KSSV on 24 Jan 2023
It looks there is some problem with conditions. Check the conditions. Without the conditions it is working fine.
syms x(t)
Dx = diff(x);
D2x = diff(Dx) ;
D3x = diff(D2x) ;
eqn = diff(x, t, 2)+2*diff(x, t)+x == 2;
cond = [x(0)==0, diff(x, t)==0];
xSol(t) = dsolve (eqn)
xSol(t) = 

Categories

Find more on Partial Differential Equation Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!