Adri van der Meer

Adri vanderMeer

1420 Reputation

19 Badges

21 years, 154 days
University of Twente (retired)
Enschede, Netherlands

MaplePrimes Activity


These are answers submitted by Adri van der Meer

From the help page dsolve, numeric:
"a procedure is returned that can be used to obtain solution values if given the value of the independent variable"
This means that X(t) is not a sort of "algebraic formula" with t's in it.
If t is a numeric value: X(t) calculates a numeric value for X:

> X(0.1);

returns 0.9856922284 or so, but if t has no value,

 
> X(t);

stays unevaluated.
If you want to know what X is:

> showstat(X);

Assuming that u is known, and defined as

u :=  x ->...

you can do:

s := dsolve( {DE,BC }, x(t), numeric, output = listprocedure );
U := u @ subs(s,x(t));
plot( U, 0..1 );

There is an unassigned parameter l in the ODE.

If you change the command in:

sol := dsolve({bc, eqn}, numeric, parameters=[l]);

you get the errormessage:

Error, (in dsolve/numeric) cannot numerically solve a parametric boundary value problem

Additionally: there are 5 ic/bc's and that results in an inconsistent system of equations if you try to solve for the constants in the general solution.
Numerical solutions can be found for 4 initial conditions.

Of course this is possible, but no very easy.

Use the option output=list:

with(LinearAlgebra):
A := <a11,-a11,a13; 0,0,0; 0,0,0>;
eig := Eigenvectors(A, output=list);

s := sort( eig, (x,y)->type(x[1],symbol) ); # if you want the nonzero element(s) first
s := sort( eig, (x,y)->x[1]=0 ); # if yoy want the zero(s)  first
V := Matrix( map( op, s[1..2,3] ) ); # the matrix of eigenvectors

First 25 26 27 Page 27 of 27