Preben Alsholm

13743 Reputation

22 Badges

21 years, 104 days

MaplePrimes Activity


These are replies submitted by Preben Alsholm

@zhkhan You may want to take a look at ExportMatrix.

Since you are solving the ode numerically it may be a better idea to keep the second order equation (i.e. Newton's 2nd law). Your first order equation is obtained by multiplying the 2nd order equation by diff(theta(t),t) and integrating. This equation is not equivalent to the original.

Since you are solving the ode numerically it may be a better idea to keep the second order equation (i.e. Newton's 2nd law). Your first order equation is obtained by multiplying the 2nd order equation by diff(theta(t),t) and integrating. This equation is not equivalent to the original.

Could you provide the actual code?

You are right. One of my equations was wrong.

My system should have been

sys:={diff(y(t),t)=a*y(t)*x(t)^(3/2)-b*y(t)^(3/4),diff(x(t),t)=x(t)^2*(c*y(t)^(7/4)-d*sqrt(x(t)))};

The rewriting as a system is of course not uniquely given from dy/dx = g(x,y)/f(x,y) since we also have

dy/dx = g(x,y)*h(x,y)/(f(x,y)*h(x,y)).

 

You are right. One of my equations was wrong.

My system should have been

sys:={diff(y(t),t)=a*y(t)*x(t)^(3/2)-b*y(t)^(3/4),diff(x(t),t)=x(t)^2*(c*y(t)^(7/4)-d*sqrt(x(t)))};

The rewriting as a system is of course not uniquely given from dy/dx = g(x,y)/f(x,y) since we also have

dy/dx = g(x,y)*h(x,y)/(f(x,y)*h(x,y)).

 

Your problem is that x in F and G is not seen by the procedures f and g till it is too late.

A minimal change scenario:

F := sin(x);

G := cos(x);

f := proc (x1) options operator, arrow; eval(F,x=x1) end proc;

g := proc (x1) options operator, arrow; eval(G,x=x1) end proc;

h := proc (x) options operator, arrow; f(g(x)) end proc;

h(x);

@kms

Something like this:
eqn1 := u = V*cos(a)*cos(b);
eqn2 := v = V*sin(b);
eqn3 := w = V*sin(a)*cos(b);
res:=solve({eqn1,eqn2,eqn3},{V,a,b});
map(tan,res[2]);
map(x->x^2,res[1]);
simplify(%);
map(sin,res[3]);
simplify(%);

@kms

Something like this:
eqn1 := u = V*cos(a)*cos(b);
eqn2 := v = V*sin(b);
eqn3 := w = V*sin(a)*cos(b);
res:=solve({eqn1,eqn2,eqn3},{V,a,b});
map(tan,res[2]);
map(x->x^2,res[1]);
simplify(%);
map(sin,res[3]);
simplify(%);

@mois Acer's second objection seems relevant especially when using procedures not made by the user as in the following simple example,

Search(sin,[y>=1,y<=2]);
Search(sin,[x>=1,x<=2]);

The reason the latter works and not the former is because x is the name of the formal parameter used by Maple's sin procedure according to

op(1,eval(sin));

I have made a habit of telling my students that the function x - > x^2 is exactly the same as the function y - > y^2.

The variables option is a solution:

Search(sin,[y>=1,y<=2],variables=[y]);

But obviously in this case you could just do

Search(sin(y),[y>=1,y<=2]);

@Wang Gaoteng I think Robert means 4*arctan(x) - 4*x/(1+x^2) (the original expression), when he talks of the numerical difficulties.

To find the order of the zero at x = 0 you can use taylor:

taylor(4*arctan(x) - 4*x/(1+x^2),x=0);

which results in (8/3)*x^3-(16/5)*x^5+O(x^6).

NextZero has problems in this case, fsolve does not.

That x = 0 is the only zero follows from the result of an integration by parts using that arctan(x) = Int(1/(1+t^2),t=0..x):

IntegrationTools:-Parts(Int(1/(1+t^2),t=0..x),1/(1+t^2)):  
map(simplify,%);

with result x/(1+x^2)+2*(Int(t^2/(1+t^2)^2, t = 0 .. x))

The last term is positive for x > 0. Thus u(x) = 4*arctan(x) - 4*x/(1+x^2) > 0 for x > 0.

Since u is odd, we get u(x) < 0 for x <0.

@Wang Gaoteng I think Robert means 4*arctan(x) - 4*x/(1+x^2) (the original expression), when he talks of the numerical difficulties.

To find the order of the zero at x = 0 you can use taylor:

taylor(4*arctan(x) - 4*x/(1+x^2),x=0);

which results in (8/3)*x^3-(16/5)*x^5+O(x^6).

NextZero has problems in this case, fsolve does not.

That x = 0 is the only zero follows from the result of an integration by parts using that arctan(x) = Int(1/(1+t^2),t=0..x):

IntegrationTools:-Parts(Int(1/(1+t^2),t=0..x),1/(1+t^2)):  
map(simplify,%);

with result x/(1+x^2)+2*(Int(t^2/(1+t^2)^2, t = 0 .. x))

The last term is positive for x > 0. Thus u(x) = 4*arctan(x) - 4*x/(1+x^2) > 0 for x > 0.

Since u is odd, we get u(x) < 0 for x <0.

Thank you Robert, for catching my mistake of equating points computed with points plotted in DEplot.

Thank you Robert, for catching my mistake of equating points computed with points plotted in DEplot.

As always it is best to present the actual problem concretely. If necessary (because of size) by uploading a worksheet.

First 211 212 213 214 215 216 217 Last Page 213 of 232