Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

Please consider this code:

restart;

with(DEtools):

test:=(diff(x(t),t,t))+(diff(a(t),t,t))=0;

FirstOrderSys := convertsys(test, [], x(t), t, y, yp );

When it is executed Maple says: Error, (in is/internal) too many levels of recursion

Now if i change just the letter a to, say, p (a(t)->p(t)) like this:

restart;

with(DEtools):

test:=(diff(x(t),t,t))+(diff(p(t),t,t))=0;

FirstOrderSys := convertsys(test, [], x(t), t, y, yp );

Lo and Behold! Suddenly Maple gives the answer:

/ d / d \\ / d / d \\ |--- |--- x(t)|| + |--- |--- p(t)|| = 0 \ dt \ dt // \ dt \ dt // [[ d / d \] [[yp[1] = y[2], yp[2] = ---- |--- p(t)|], [[ dt \ dt /] [ d ] ] [y[1] = x(t), y[2] = --- x(t)], undefined, []] [ dt ] ]

Why is that so? I don't see how one letter makes this difference. I have learned Maple on my own, so maybe I have missed something?

Please, i need help USING ODE1 and ODE2 with given BCS and Pr=0.714

it is needed to to generates   

                   [-0.2], [0.51553], [0.4000]
                  [-0.1], [0.57000], [0.4371]
                   [0.], [0.62756], [0.4764]
                  [0.1], [0.68811], [0.5176]
                  [0.2], [0.75153], [0.5609]

but it is generarting

                  [-0.2], [0.51553], [0.42342]
                  [-0.1], [0.57000], [0.46114]
                   [0.], [0.62756], [0.50088]
                  [0.1], [0.68811], [0.54261]
                  [0.2], [0.75153], [0.58628]

the values of D(theata)(0) is wrong. Please i need HELP. this the code below that i use:
>restart;
>with (plots):ode1:=diff(f(eta),eta,eta,eta)+f(eta)*diff(f(eta),eta,eta)-M*diff(f(eta),eta)=0:

>ode2:=diff(theta(eta),eta,eta)+Pr*f(eta)*diff(theta(eta),eta)=0:

>bcs1:= f(0)=w,D(f)(0)=1,D(f)(10)=0:
>bcs2theta(10)=0,theta(0)=1:
>fixedparameter1:=[M=0.0]:
>ode3:=eval(ode1,fixedparameter1):
>fixedparameter2:=[Pr=0.714]:
>ode4:=eval(ode2,fixedparameter2):

>G:=[-0.2,-0.1,0.0,0.1,0.2]:
>for ode3 and ode4:
  for k from 1 to 5 do
  sol_All:=dsolve(eval({ode3,ode4,bcs1},w=G[k]),    [f(eta),theta(eta)],numeric,output=listprocedure);
Y_sol||k:= -rhs(sol_All[4]);
YP_sol||k:=-rhs(sol_All[6]);
end do:
>Digits:=5:

>for k from 1 to 5 do
evalf([G[k]]),evalf([(Y_sol||k(0))]),evalf([YP_sol||k(0)]);    
od;
                  [-0.2], [0.51553], [0.42342]
                  [-0.1], [0.57000], [0.46114]
                   [0.], [0.62756], [0.50088]
                  [0.1], [0.68811], [0.54261]
                  [0.2], [0.75153], [0.58628]

Hi all.

I am using Maple2015.

I typed in as input y=x/sqrt(1-x^2).

I hit enter.  The output is:

 y=x/sqrt(1-x^2)

I know the 2 answers are equivalent.

My question is why did Maple swap 1-x^2 to -x^2+1???

Any advice to swap it back would be greatly appreciated.

How to find asymptotic behaviour of a function.

For example at infinity

sinh(x) behaves as 1/2*exp(x)

1/sinh(x)  behaves as 2*exp(-x)

exp(-x)*(exp(-x)+1) behaves as exp(-x)

so that it works with a more complex expression.

when solving a system of equations, I want to get rid of all the absolute functions.

 

for example, |y-2|=x,I don't want maple solve this equation directly...because maple may has difficulties when dealing with absolute values. Instead, I want to transform this equation by squaring the both sides at the same time which end up this equation: (y-2)^2=x^2.

 

The example I provide is kind of simple...what if there are multiple absolute term in the equations? Is there a general way to get what I need? Or Is it practical to use Maple to achive such thing?

 

thanks in advance.

I wanted to let everyone know that there is a Maple 2015 update available. Maple 2015.1 provides:

  • Support for high-resolution monitors (e.g. 4K, UHD)
  • Updated translations for Brazilian Portuguese, French, Japanese, and Simplified Chinese
  • Enhancements to the Explore command
  • Improvements to the DataSets package
  • Updates to the Microsoft Excel plug-in
  • Enhancements to unit handling
  • A variety of improvements to the math engine, interface, and documentation

To get this update, you can use Tools>Check for Updates from within Maple, or visit Maple 2015.1 Downloads.

If you are a MapleSim 2015 user, you already have this update, as it was part of the MapleSim 2015 installation.

Kim

Hello Everyone

I have an expression which I wish to integrate. I would be grateful if you could please help me with it. I have uploaded the maple file for your refrence.

Thanks a lot for your time.

 

 

IntegrationExample.mw

 

restart;
pp:=-55471918776960000*tanh((1/3220)*sqrt(10368400-cp^2)*Pi*x/cp)+5350094400*tanh((1/3220)*sqrt(10368400-cp^2)*Pi*x/cp)*cp^2-129*tanh((1/3220)*sqrt(10368400-cp^2)*Pi*x/cp)*cp^4+2670899840*tanh((1/6450)*sqrt(41602500-cp^2)*Pi*x/cp)*sqrt(41602500-cp^2)*sqrt(10368400-cp^2);
Student[Calculus1]:-Roots(subs(x=8000,pp),cp=1..3220,numeric);
p1:=proc(v)
option hfloat;
local a;
a:=Student[Calculus1]:-Roots(subs(x=v,pp),cp=1..3220,numeric);
if nops(a)>=1 then seq([v,a[i]],i=1..nops(a));
end if;
end proc:
SS1:=[seq(p1(i),i=3500..20000,200)]:
plot(SS1,style=point,gridlines);

The final figure is different between maple12 and maple17.

On 17, unwanted points apprear.

is it a bug?

Dear Colleges

I have a problem with the following code. As you can see, procedure Q1 converges but I couldn't get the resutls from Q2.

I would be most grateful if you could help me on this problem.

 

Sincerely yours

Amir

 

restart;

Eq1:=diff(f(x),x$3)+diff(f(x),x$2)*f(x)+b^2*sqrt(2*reynolds)*diff(diff(f(x),x$2)^2*x^2,x$1);
Eq2:=diff(g(x),x$3)+diff(g(x),x$2)*g(x)+c*a^2*sqrt(2*reynolds)*diff(diff(g(x),x$2)^2*x,x$1);
eq1:=isolate(Eq1,diff(f(x),x,x,x));
eq2:=subs(g=f,isolate(Eq2,diff(g(x),x,x,x)));
EQ:=diff(f(x),x,x,x)=piecewise(x<c*0.1,rhs(eq1),rhs(eq2));
Eq11:=diff(theta(x),x$2)+pr*diff(theta(x),x$1)*f(x)+pr/prt*b^2*sqrt(2*reynolds)*diff(diff(f(x),x$2)*diff(theta(x),x$1)*x^2,x$1);
Eq22:=diff(g(x),x$2)+pr*diff(g(x),x$1)*f(x)+pr/prt*a^2*c*sqrt(2*reynolds)*diff(diff(f(x),x$2)*diff(g(x),x$1)*x^1,x$1);
eq11:=isolate(Eq11,diff(theta(x),x,x));
eq22:=subs(g=theta,isolate(Eq22,diff(g(x),x,x)));
EQT:=diff(theta(x),x,x)=piecewise(x<c*0.1,rhs(eq11),rhs(eq22));
EQT1a:=eval(EQT,EQ):
EQT2:=eval(EQT1a,{f(x)=G0(x),diff(f(x),x)=G1(x),diff(f(x),x,x)=G2(x)}):
bd:=c;
a:=0.13:
b:=0.41:
pr:=1;
prt:=0.86;
reynolds:=12734151.135786774055543653356602;     #10^6;   #1.125*10^8:

c:=88.419896050808975395120916434619:
;
Q:=proc(pp2) local res,F0,F1,F2;
print(pp2);
if not type(pp2,numeric) then return 'procname(_passed)' end if:
res:=dsolve({EQ,f(0)=0,D(f)(0)=0,(D@@2)(f)(0)=pp2},numeric,output=listprocedure);
F0,F1,F2:=op(subs(subs(res),[f(x),diff(f(x),x),diff(f(x),x,x)])):
F1(bd)-1;
end proc;
fsolve(Q(pp2)=0,pp2=(0..1002));
se:=%;
res2:=dsolve({EQ,f(0)=0,D(f)(0)=0,(D@@2)(f)(0)=se},numeric,output=listprocedure):
G0,G1,G2:=op(subs(subs(res2),[f(x),diff(f(x),x),diff(f(x),x,x)])):
plots:-odeplot(res2,[seq([x,diff(f(x),[x$i])],i=1..1)],0..c);



Q2:=proc(rr2) local solT,T0,T1;
print(rr2);
if not type(rr2,numeric) then return 'procname(_passed)' end if:
solT:=dsolve({EQT2,theta(0)=1,D(theta)(0)=-rr2},numeric,known=[G0,G1,G2],output=listprocedure):
T0,T1:=op(subs(subs(res),[theta(x),diff(theta(x),x)])):
T0(bd);
end proc;
fsolve(Q2(rr2)=0,rr2=(0..100));


shib:=%;
sol:=dsolve({EQT2,theta(0)=1,D(theta)(0)=-shib},numeric,known=[G0,G1,G2],output=listprocedure):
plots:-odeplot(sol,[x,theta(x)],0..c);
#fsolve(Q2(pp3)=0,pp3=-2..2):

Amir

could you help me about maple
i try to calculating using chevypade rational approximating and the answer for cos(x) xe is(-.221091073962959*T(1, x-1)+.7710737338*T(0, x-1)-0.4212446689e-1*T(2, x-1))/(0.836360586596837e-1*T(1, x-1)+T(0, x-1)+0.3360079945e-1*T(2, x-1)) i can not to convert to rational form as x^^n .maple is not very friendship
Thanks


> restart;
> with*plots;
> Eq1 := diff(f(eta), eta, eta, eta)+f(eta)*(diff(f(eta), eta, eta))-(diff(f(eta), eta))^2 = 0; 

> N := 1;

> blt := 10;
> Eq2 := (diff(theta(eta), eta, eta))/Pr+f(eta)*(diff(theta(eta), eta)) = 0; 
> bcs1 := f(0) = 0, (D(f))(0) = 1, (D(f))(blt) = 0;
> bcs2 := (D(theta))(0) = -N*(1+theta(0)), theta(blt) = 0;
> L := [2.5, 3, 5, 7, 10];
> for k to 5 do R := dsolve(eval({Eq1, Eq2, bcs1, bcs2}, Pr = L[k]), [f(eta), theta(eta)], numeric, output = listprocedure); X1 || k := rhs(R[3]); X2 || k := rhs(R[4]); Y1 || k := rhs(R[5]); Y2 || k := -rhs(R[6]) end do;

 

 how I will draw the graph for Pr against theta   for Pr=2.5 until 7  taking rest of the parameter fix

 

I wish to evaluate the expression

knowing that

where a is a constant.  It is not hard to see, assuming enough differentiability,  that the expression evaluates to

I know how to do this when all the derivatives are expressed in terms of the diff() operator.  Here it is:

eq := diff(u(x,t),t) = a^2*diff(u(x,t),x,x);
expr := diff(u(x,t),t,t);
eval['recurse'](expr,[eq]);

However, I would prefer to do the computations when all derivatives are expressed in terms of the D operator but cannot get that to work.  What is the trick?

Hello. I have a question. If you can help me, i am pleasure.

Have nice day. :)

 

restart;
soru := proc(n,x)
local top::0;
for x from 2 to n do
top =top+(((x^(2+i))*top)^(1/(n+2-i)));
print(top);
od;
end proc;

 

soru(5,1);

Error, (in soru) illegal use of a formal parameter

Hello. I have a question. If you can help me, i am pleasure.

Have nice day. :)

 

Question: Enter a number after maple find(understand) to prime number or normal number.

 

restart;
> asal := proc(n)
> local m;
> if n<2 then
> m := s=n/2+1;
> print(m);
> else
> for i from 2 to n do
> if irem(n,i,0) then
> print("asal değil");
> if i = m then
> print("asaldir");
> end do;
> end if;
> end if;
> end proc;

 

Consider the following code, which just generates two "identical" matrices, differing only in their requested storage type, and then does some simple manipulations.

restart;
#
# Define matrix using sparse storage
#
   testM:= Matrix( 40,40,
                           (i,j)->`if`(j>=i,1,0),fill=0,
                           storage=sparse
                        ):
#
# Define identical(?) matrix with rectangular storage
#
   nm:= Matrix( 40,40,
                        testM,
                        storage=rectangular
                     ):
#
# Define procedure to return some matrix properties
#
   matData:= proc( myMat::Matrix)
                            return op(3, myMat)[2], # check storage type
                                      myMat[5, 1..-1], # get 5-th row
                                      add(myMat[5, 1..-1]); # add elements in 5-th row
                    end proc:
#
# Get properies of the two matrices - should be identical
# but check result of adding elements in the 5-th row
#
    matData(testM);
    matData(nm);

The matData procedure ought to produce the same results for the two matrices, with the exception of the storrage type. But the 'add()' command does not. The 'myMat[5, 1..-1]' command produces the same vector, the 5-th row - but stick an add() wrapper around it and all hell breaks loose.

Is this a bug or am I missing something?

Suggestions such as avoiding sparse data storage are not really acceptable: the above is a much simplified version of my original problem where I was using graph theory to play with a "cost function" and (with G a graph) the command,

WeightMatrix(MinimalSpanningTree(G))

returned a sparse-storage matrix - and I didn't notice. There appears to be no option on the WeightMatrix() command to control the storage tyoe of the returned matrix. Result was that all subsequent code based on slicing/dicing/and particularly 'add()ing' sub-blocks of this weight matrix fell apart

Don't get me wrong: I can sort of accept that the weight matrix of minimal spanning tree would (hopefully) be mainly zeros so sparse-storage might be a good default option but I don't see why the results of a command such as

add(myMat[5, 1..-1])

should vary depending on the internal storage used for the matrix, particularly when I have no control over the storage type being adopted

 

First 1238 1239 1240 1241 1242 1243 1244 Last Page 1240 of 2224