Adri van der Meer

Adri vanderMeer

1350 Reputation

18 Badges

14 years, 214 days
University of Twente (retired)
Enschede, Netherlands

My "website" consists of a Maple Manual in Dutch

MaplePrimes Activity

These are answers submitted by Adri van der Meer

I think from rounding errors, because you use floating point numbers in your input.

C := convert~(A,rational):

has only even powers of x in the output, as expected.

f := (-x^2+eta^2+2*x*xi+2*x*eta-xi^2-2*xi*eta-2*x*y-2*y*eta+2*xi*y+y^2) * 
     (-x^2-2*x*eta+eta^2+2*x*xi+2*xi*eta-xi^2+2*x*y-2*xi*y-2*y*eta+y^2) - 

gives zero.

X := <seq(i,i=1..19)>:
Y := Vector( 19,
    RandomTools:-Generate( float(range=1..2)*10^integer(range=-13..-6), makeproc=true ) ):
plots:-logplot(X,Y, style=point);

Defining the function:

f := (x,y) -> x+(y-1)*arcsin(sqrt(x/y));

Second derivative wrt x:


and with y=1 substituted:


You write for example


where problably is meant:




There are a lot more of this kind of errors/ambiguities.

What do you mean by "the wrong eigenfrequency"? What is the desired unit? degrees per second? What unit has the "2" in sin(2*t)? degrres per second indeed?

z := 3*exp(t*I):
plots:-complexplot( 6/z, t=-Pi..Pi );

or directly:

plot( [Re(6/z),Im(6/z), t=-Pi..Pi] );



is not the Hessian, but the Laplacian. You have to use parentheses to get the gradient.
To have full control over your input, you can better work in worksheet mode, and choose "Maple Notation"} for Input Display.

I suppose that you want the greatest of the two y-values in your list.
That is not always the first solution that is produced by the solve command.
So you may try

B := NULL:
for t from 10 by 2 to 100 do 
  h := [solve({x*y*z = 6*t^3, x-y-z = 0, x+y+z = 6*t}, {x, y, z})]:
  B := B,max(subs~(h,y)):
end do:
A := [B];

Do you mean a numerical approximation for the derivatives?
Are the θ[i] values equidistant, i.e. is θ[i+1] − θ[i] = h for all i?
Then you can use the central differentiation formula's

(I dont't understand your addendum)
If you really want to use Maple for this conversion:

> eq := A*sin(theta) + B*cos(theta) = C*cos(theta+delta);
> s := solve( identity(eq, theta), {A,B} );

Now you have A,B as functions of C and δ.

> solve( s, {C,delta} ): allvalues(%);

Your second question: you get a list of possibble equivalent trigonometric expressions by

> trigsubs(cos(theta+phi)*cos(theta+omega*t));

If A is a rtable, the assignment

B := A;

results in two names referring to the same structure.

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.

First 24 25 26 27 Page 26 of 27