### The Maxima on-line user's manual

Algebra Calculator

#### Desolve

Function: desolve (<eqn>, <x>)

Function: desolve ([<eqn_1>, ..., <eqn_n>], [<x_1>, ..., <x_n>]) The function `desolve` solves systems of linear ordinary differential equations using Laplace transform. Here the <eqn>s are differential equations in the dependent variables <x_1>, ..., <x_n>. The functional dependence of <x_1>, ..., <x_n> on an independent variable, for instance <x>, must be explicitly indicated in the variables and its derivatives. For example, this would not be the correct way to define two equations:

eqn_1: diff(f,x,2) = sin(x) + diff(g,x); eqn_2: diff(f,x) + x^2 - f = 2*diff(g,x,2);

The correct way would be:

eqn_1: diff(f(x),x,2) = sin(x) + diff(g(x),x); eqn_2: diff(f(x),x) + x^2 - f(x) = 2*diff(g(x),x,2);

The call to the function `desolve` would then be desolve([eqn_1, eqn_2], [f(x),g(x)]);

If initial conditions at `x=0` are known, they can be supplied before calling `desolve` by using `atvalue`.

```          (%i1) diff(f(x),x)=diff(g(x),x)+sin(x);
d           d
(%o1)            -- (f(x)) = -- (g(x)) + sin(x)
dx          dx
(%i2) diff(g(x),x,2)=diff(f(x),x)-cos(x);
2
d            d
(%o2)            --- (g(x)) = -- (f(x)) - cos(x)
2          dx
dx
(%i3) atvalue(diff(g(x),x),x=0,a);
(%o3)                           a
(%i4) atvalue(f(x),x=0,1);
(%o4)                           1
(%i5) desolve([%o1,%o2],[f(x),g(x)]);
x
(%o5) [f(x) = a %e  - a + 1, g(x) =```

x cos(x) + a %e - a + g(0) - 1]

`          (%i6) [%o1,%o2],%o5,diff;`
`                       x       x      x                x`
`          (%o6)   [a %e  = a %e , a %e  - cos(x) = a %e  - cos(x)]`

If `desolve` cannot obtain a solution, it returns `false`.

```(%o1)                                true
(%i2) ```

### Related Examples

##### desolve-diff

desolve(['diff(y(x),x...

Calculate

##### desolve-diff

eq0: 'diff(y(x),x,2) ...

desolve( [eq0],[y(x)]);

Calculate

##### desolve-diff

de: 'diff(f(x),x) - x^2;

desolve(de,f(x));

f(x);

Calculate

##### desolve-diff-subst

e1:diff(x(t),t)=-2*x(...

solx:desolve(e1,x(t));

movx:subst(x(0)=4,solx);

Calculate

##### desolve-determinant-diff-display2d-false-matrix

display2d:false;

fx(u) := 0;

fy(u) := p*u^2+q*u+r;

Calculate

##### desolve-diff

eqn_1:'diff(x,t)=1*x(...

eqn_2:'diff(y,t)=-9*x...

desolve([eqn_1,eqn_2]...

Calculate

##### desolve-diff

q:'diff(x(t),t) = 0.1...

desolve([q],[x(t)]);

Calculate

##### desolve-diff

desolve('diff(R(t),t,...

Calculate

eq1: 'diff(x(t),t)=x(...

eq2:'diff(y(t),t)=x(t...

desolve([eq1,eq2],[x(...

Calculate

##### desolve-diff

desolve('diff(p,x)-m*...

Calculate