gkokovidis

2370 Reputation

13 Badges

20 years, 289 days
Draeger Medical Systems, Inc.

 

 

Regards,
Georgios Kokovidis
Dräger Medical

MaplePrimes Activity


These are answers submitted by gkokovidis

See help page here.

 

Regards,

Georgios Kokovidis

Dräger Medical

Look at the help page for the ?alias command for details.  Does the example below meet your needs?

restart:

diff(P(x, tau, p), p);

diff(P(x, tau, p), p)

 (1)

v[1](x, tau);

v[1](x, tau)

             (2)

cc:=2*(D[2](v[0]))(0, tau)*(diff(eval(diff(P(x, tau, p), p), p = 0), x))/(1-v[0](0, tau));

2*(D[2](v[0]))(0, tau)*(diff(eval(diff(P(x, tau, p), p), {p = 0}), x))/(1-v[0](0, tau))

(3)

alias(v[1](x, tau)=diff(P(x, tau, p), p));

v[1](x, tau)

                                                                   (4)

cc;

2*(D[2](v[0]))(0, tau)*(diff(eval(v[1](x, tau), {p = 0}), x))/(1-v[0](0, tau))

(5)

 

Download alias.mw

Regards,

Georgios Kokovidis

Dräger Medical

While the detailed math relationship can be found in the picture,
extracting detailed data pairs is rather difficult.  
A digitizing program that generates x-y pairs could be used.  
The more data, the better the fit.  Fitting the picture with a simple math function,
without using piecewise or splines is not straight forward.  
Below is a very rough attempt to do so by estimating x-y pairs.

restart: with(plots):
with(Statistics):
X := Vector([1, 25,50,75,100, 125,200, 300, 400, 500, 600]):
Y := Vector([40e3,8e3, 2000,600,350, 210,200, 180, 170, 150,140]):
eq:=NonlinearFit(a+b*exp(-c*t)+d^(-t), X, Y, t);
logplot(eq,t=0..600,y=1..100000,gridlines=true);

nonlinearfit.mw

Regards,

Georgios Kokovidis

Dräger Medical

The save command, as implemented below, will write to the directory that the file lives in.  You can change this to whatever you like.

restart:

with(plots):

sol1:= dsolve({D(y)(x) = y(x), y(0)=1}, y(x),type=numeric):

p1:=odeplot(sol1,[x,y(x)],-1..1 ):

sol2:= dsolve({D(y)(x) = 2*y(x), y(1)=1}, y(x),type=numeric):

p2:=odeplot(sol2,[x,y(x)],-1..1,color=blue):

dd:=display(p1,p2):dd;

 

save(dd,`hill2.m`);

 

restart:

dd;

dd

                               (1)

read(`hill2.m`);

dd;

 

 

Download odeplot_display_save.mw

Regards,

Georgios Kokovidis

Dräger Medical

See ?eval for more help, if this is what you are trying to do.

restart:

T[2]:=2*x^2-1;

2*x^2-1

 (1)

eval(T[2],x=2);

7

                          (2)

 

Download eval.mw

 

Regards,

Georgios Kokovidis

Dräger Medical

You can combine plots using ?display.  One way to do this with dsolve/numeric is shown below.

restart:

with(plots):

sol1:= dsolve({D(y)(x) = y(x), y(0)=1}, y(x),type=numeric):

p1:=odeplot(sol1,[x,y(x)],-1..1 ):

sol2:= dsolve({D(y)(x) = 2*y(x), y(1)=1}, y(x),type=numeric):

p2:=odeplot(sol2,[x,y(x)],-1..1,color=blue):

display(p1,p2);

 

 

Download odeplot_display.mw

 

Regards,

Georgios Kokovidis

Dräger Medical

Looks like a bug.  As a workaround, you could use the deprecated version of "Array", which is "array".

 

 

Regards,

Georgios Kokovidis

Dräger Medical

Like this, or something else?  See here for more help on parametric plots.

restart

x[0] := 1;Omega := 1;v[x0] := 0;v[y0] := 1

1

 

1

 

0

 

1

(1)

xp := (x[0]+v[x0]*t)*cos(Omega*t)+(v[y0]+Omega*x[0])*t*sin(Omega*t)

cos(t)+2*t*sin(t)

(2)

yp := -(x[0]+v[x0]*t)*sin(Omega*t)+(v[y0]+Omega*x[0])*t*cos(Omega*t)

-sin(t)+2*t*cos(t)

(3)

plot([xp, yp, t = 0 .. 10*Pi], -10 .. 10, -10 .. 15)

 

 

Download puckontable2.mw

 

Regards,

Georgios Kokovidis

Dräger Medical

What you are describing will not work in the Classic Interface, but will work in the Standard Interface.  For this example, I used Maple 15.

restart:

with(plots): y1:=0.01*sin(Pi/2*x-40*Pi*t);

-0.1e-1*sin(-(1/2)*Pi*x+40*Pi*t)

              (1)

y2:=0.01*sin(Pi/2*x+40*Pi*t);

0.1e-1*sin((1/2)*Pi*x+40*Pi*t)

                     (2)

y:=y2+y1;

0.1e-1*sin((1/2)*Pi*x+40*Pi*t)-0.1e-1*sin(-(1/2)*Pi*x+40*Pi*t)

(3)

animate(plot,[y1,x=0..10,legend="testing"],t=0..5,frames=50);

 

 

 

Download legend.mw

 

Regards,

Georgios Kokovidis

Dräger Medical

Not exactly step by step, similar to some of the tutorials, but there is info that is useful here.  See ?printlevel for more details.  The higher the number, the more verbose the output.

restart:

printlevel:=2:

f:=k!/(k+t)!;

factorial(k)/factorial(k+t)

(1)

S[n,t]:=sum(f,k=0..n-1);

-(n+t)*factorial(n)/((t-1)*factorial(n+t))+t/((t-1)*factorial(t))

(2)

restart:

printlevel:=10:

f:=k!/(k+t)!;

{--> enter _factorial, args = k

 

factorial(k)

 

<-- exit _factorial (now at top level) = factorial(k)}
{--> enter _factorial, args = k+t

 

factorial(k+t)

 

<-- exit _factorial (now at top level) = factorial(k+t)}

 

factorial(k)/factorial(k+t)

(3)

S[n,t]:=sum(f,k=0..n-1);

{--> enter _factorial, args = k

 

factorial(k)

 

<-- exit _factorial (now at top level) = factorial(k)}
{--> enter _factorial, args = k+t

 

factorial(k+t)

 

<-- exit _factorial (now at top level) = factorial(k+t)}
{--> enter sum, args = factorial(k)/factorial(k+t), k = 0 .. n-1

 

k = 0 .. n-1

 

[[factorial(k)/factorial(k+t), k, 0, n-1], false, FAIL]

 

{}

 

-(n+t)*factorial(n)/((t-1)*factorial(n+t))+t/((t-1)*factorial(t))

 

<-- exit sum (now at top level) = -(n+t)*factorial(n)/((t-1)*factorial(n+t))+t/((t-1)*factorial(t))}

 

-(n+t)*factorial(n)/((t-1)*factorial(n+t))+t/((t-1)*factorial(t))

(4)
 

Download sum.mw

 

Regards,

Georgios Kokovidis

Dräger Medical

See help page for ?numboccur.

 

Regards,

Georgios Kokovidis

Dräger Medical

Yes.  See the following thread.

 

Regards,

Georgios Kokovidis

Dräger Medical

I do not have Maple 13 installed, but I think this is available.  Look at the help page for:

?Student[Precalculus][LineTutor], or click on the  Tools, Tutors, Precalculus, Lines... tab, and a GUI should pop up allowing you to do what you are looking for.

Regards,

Georgios Kokovidis

Dräger Medical

restart:

x/3=(x+0.2)/15+1.5;

(1/3)*x = (1/15)*x+1.513333333

(1)

solve(%,x);

5.674999999

                                (2)

convert(%,rational);

227/40

                                                (3)

 

 

restart:

x/3=(x+0.2)/15+1.5;

(1/3)*x = (1/15)*x+1.513333333

(4)

convert(%,rational);

(1/3)*x = (1/15)*x+227/150

                (5)

solve(%,x);

227/40

                                                 (6)

evalf(%);

5.675000000

                                   (7)

 

Download rat_solve.mw

 

Regards,

Georgios Kokovidis

Dräger Medical

The paste option, in the DOS box will work.  The characters ">" will need to be removed in front of every line:

MEMBER := proc(x::anything, L::list, p::evaln) local i;
for i to nops(L) do
if x=L[i] then
if nargs>2 then p := i end if;
RETURN(true)
end if
end do;
false
end proc

Regards,

Georgios Kokovidis

Dräger Medical

First 12 13 14 15 16 17 18 Last Page 14 of 75