MaplePrimes Questions

/Mrs.,

How can I plot "log scale base 2" instead of "log scale base 10" (plot "log2plot(x,x=0..10)" instead of "logplot(x,x=0..10)")? 

I would appreciate if you make me some help with this situation.

faithfully,

I am trying to apply assumptions to the solution set of an equation. I've tried assume and assuming (see attached) to no avail. What am I missing? How can I achieve this?assume.mw
 

`assuming`([solve(x^2-x-2 = 0, x)], [x > 0])

2, -1

(1)

assume(x > 0)

solve(x^2-x-2 = 0, x)

2, -1

(2)

``


 

Download assume.mw

 

I am generating splines using CurveFitting[Spline] command, which produces piecewise functions. I would like to extract the different "pieces" of the spline for use elsewhere. How do I do that? In the attached worksheet, for example, I would like to extract (59*x^2)/756, -1/84*x^2 + 17/63*x - 17/84, and -19/504*x^2 + 19/36*x - 61/72. There has to be a way to do this, but I'm coming up short.

spline.mw
 

with(CurveFitting)

f := Spline([[0, 0], [3, 1/2], [7, 1]], x, degree = 2)

piecewise(x < 3/2, (59/756)*x^2, x < 5, -(1/84)*x^2+(17/63)*x-17/84, -(19/504)*x^2+(19/36)*x-61/72)

(1)

``


 

Download spline.mw

 

I want to plot some oscillating function (function involve sin and cos) as a function to time (t). And when I try a large interval like t=0..1000, it is going to take forever to plot the graph and the system becomes a little laggy. Is there any way I can do to make it compute quickly?

Thank you all

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

Hello

I am trying to use Threads in my procedures as much as possible.  However, one of them returned different results when compared to map or Grid:-Map (I have checked if the used functions are threadsafe (perhaps I miss something)).  Here is the procedure (optimization of the code is most welcome).

searchMonomialsEqns:=proc(conds::set,Eqns::list,Vars::list,poolofeqns::list(list))
description "Find if a set of monomials in an equation can be found in a pool of monomials and returns the condition when it is true":
local A:=Array(1..0),
      C,
      i,
      res,
      n:=numelems(Eqns):
#  Find the monomials of Eqns
res:=subs(conds,Eqns):
for i from 1 to n do
    C:= coeffs(expand(lhs(res[i])-rhs(res[i])),Vars, 'M'):
    A,={M}:
end do:
ifelse(member([seq(A)],poolofeqns)=false,NULL,conds):
end proc:

1) Threads:-Map

ans1:=CodeTools:-Usage(Threads:-Map(w->searchMonomialsEqns(w,eqns[1..2],vars[2..3],validYZeqnMon),conds5)):nops(ans1);

returns

memory used=0.58GiB, alloc change=139.56MiB, cpu time=40.23s, real time=11.12s, gc time=1.01s

                              8613

 

2) map

ans2:=CodeTools:-Usage(map(w->searchMonomialsEqns(w,eqns[1..2],vars[2..3],validYZeqnMon),conds5)):nops(ans2);

returns

memory used=0.57GiB, alloc change=-4.00MiB, cpu time=22.48s, real time=21.55s, gc time=1.70s

                              8637

3) Grid:-Map

ans3:=CodeTools:-Usage(Grid:-Map(w->searchMonomialsEqns(w,eqns[1..2],vars[2..3],validYZeqnMon),conds5)):nops(ans3);

return

memory used=23.29MiB, alloc change=21.88MiB, cpu time=3.77s, real time=2.25s, gc time=3.14s

                              8637

Although the number of elements is the same, Grid:-Map returns the result with set function mentioned in my previous post. (I am aware that CodeTools:-Usage is pointless here).

4) Threads:-Seq

ans4:=CodeTools:-Usage([Threads:-Seq](searchMonomialsEqns(conds5[i],eqns[1..2],vars[2..3],validYZeqnMon),i=1..nops(conds5))):nops(ans4);

returns

memory used=0.58GiB, alloc change=0 bytes, cpu time=33.99s, real time=8.68s, gc time=644.74ms

                              8622

What am I missing?   

Many thanks

Ed

 

"What's new in Maple 2020" explain an exciting new option for DrawGraph: layout=interactive, that should allow you to move vertices in the plot. I tried this in the help page opened in a worksheet window and it works.

Unfortunately when I write in a new worksheet the command

with(GraphTheory): with(RandomGraph): G:=RandomGraph(10,25); DrawGraph(G,layout=interactive)

I get the error

"Error, invalid input: GraphTheory:-DrawGraph expects value for keyword parameter [style, layout] to be of type identical(none, bipartite, circle, default, fixed, grid, interactive, network, spectral, spring, spring[constant], tree, user, planar, random), but received plots:-interactive"

Could you help me? Thanks

This is really a math question. But I can't figure how Maple did it.

Maple solves the ODE with 2 initial conditions correctly.

But if I use the general solution, and setup the set 2 equations, and tell Maple to solve _C1 and _C2, it says there is no solutions. Which is correct.

I would really like to know how Maple then managed to solve for these initial conditions.  This is problem from text book

I know how to solve it by hand to obtain general solution. But do not know how find solution that satisfies the IC's. when pluggin the initial conditions, the resulting 2 equation have no solution.

restart;
ode:=2*diff(y(x),x$2)=exp(y(x));
maple_general_sol:=dsolve(ode);
odetest(maple_general_sol,ode);
IC:=y(0)=0,D(y)(0)=1;
maple_sol_with_IC:=dsolve([ode,IC]);
odetest(maple_sol_with_IC,[ode,IC]);

The goal is to now take the general solution found by Maple above, and manually solve for _C1 and _C2:

eq1:=0=subs(x=0,rhs(maple_general_sol));
the_derivative:= diff(rhs(maple_general_sol),x):
eq2:=1=subs(x=0,the_derivative);

Two equations, two unknown. But using solve or PDEtools:-Solve produce no solution.

sol1:=solve([eq1,eq2],[_C1,_C2]);
sol2:=PDEtools:-Solve([eq1,eq2],[_C1,_C2]);

Looking at equation (1) above, we see that it is the same as 

eq1:=1=(tan(_C2/(2*_C1))^2 + 1)/_C1^2;

Because 0=ln(Z) means Z=1. Using the above simpler equation now gives

eq1:=1=(tan(_C2/(2*_C1))^2 + 1)/_C1^2;
the_derivative:= diff(rhs(maple_general_sol),x):
eq2:=1=subs(x=0,the_derivative);
sol1:=solve([eq1,eq2],[_C1,_C2]);

We see that there is indeed no solution. Second equation above says _C1= tan(.). Let tan(.)=Z. Plugging this in first equation gives Z^2= (Z^1+1) which has no solution for Z since this says 0=1 

So direct appliction of the initial conditions produces no solution. So how did Maple find the solution it obtained? I also tried using limits. But no luck. Book does not show how to obtain solution either. 

Any ideas?

 

When solving this by hand   sqrt(y)=tanh(x), I would square both sides to obtain  y=tanh(x)^2 as solution.  

Maple does this when RHS is tan,cos,sin, but not when RHS is hyperbolic.

Why is that, and how to best tell Maple to give  the simple solution? Here is an example

restart;
eq:=sqrt(y)=tanh(x);
sol:=solve(eq,y);

Compare to Mathematica:

I can post-process Maple solution like this

restart;
eq:=sqrt(y)=tanh(x);
sol:=solve(eq,y);
sol:=convert(sol,trigh);
sol:=simplify(sol)

Which is tanh(x)^2.  

But this is all too much work, since this is done in a program, and I do not know what specific convert to use at the time to try.

My question is, why does not maple simply solves   sqrt(y) = f(x)  giving     y=f(x)^2?  it works for generic function

restart;
eq:=sqrt(y)=f(x);
sol:=solve(eq,y);

it works for non-hyper trig functions also

restart;
eq:=sqrt(y)=tan(x);
sol:=solve(eq,y);

Is there a trick to make it work for hyperbolic functions also automatically?

ps. for now, to avoid all these issues, I am doing this

restart;
the_rhs:=tanh(x);
eq:=sqrt(y)=f;
sol:=solve(eq,y);
sol:=subs(f=the_rhs,sol);

Since I know that the RHS contains no y before hand. The above bypasses any issues Maple has with hyper trig functions.

Hello

Without any success, I've been trying to hide the input/code, such that only the output (moment and shear) diagram is shown. I've tried guides with Document Blocks method but all seem outdated, since they're referring to commands which don't seem to exist i.e. "collapse document block". I can't understand that there isn't some neat and user-friendly way to something as simple as show/hide the input, to make it more document-reader friendly? It seems the only way is to just hightlight the input and color it white, which isn't too viable long term. 

I hope you can help, it would be alot of help to me and my classmates. 
Kind regards and thanks for your time.

 

PS. Here's a picture of the input and diagram.

restart, with(plots);
startingTime := 1800;
interval := 10;
P(0) := 5.308;
P(t) = 5.308*M/(5.308 + (M - 5.308)*exp(-kMt));
                                5.308 M           
              P(t) = -----------------------------
                     5.308 + (M - 5.308) exp(-kMt)


diff(P(t), t) = kP(t)*(M - P(t));
                   d                         
                  --- P(t) = kP(t) (M - P(t))
                   dt                        

Explore(plot([P(t), [[0, 5.308], () .. (), [140, 131.7]]], t = 0 .. 0.140, P = 0 .. 140, style = [line, point], gridlines = true), parameters = [[M = M_0 .. M_1], [k = k_0 .. k_1]]);
Error, (in Explore) incorrect first argument [P(t), [[0, 5.308], () .. (), [140, 131.7]]]

I am currently trying to solve the following ODE using numerical methods:

diff(U(x), x$2) + [(z+ I*y)2/k12 -k22 + ((z+I*y)/k3)*sech(x)^2U(x)

Where the complex value (in this case, omega, has been written as z+Iy). I believe dsolve has capabilities for solving this as an initial value problem with complex values and thus to solve this as a boundary value problem I aim to use fsolve to find a zero other a function which is the (IVP solution) - (the non-initial boundary). This has worked very well for the case where y=0 however does not work for values of y>0, and it seems the problem is with fsolve. Any advice on how to deal with this problem, perhaps alternatives to fsolve? 

Is there any possibility to modify column width within tables, so that they become equal?

Dear Users! 

I want to evaluate following integral (f[i]'s) for different values of rho as shown. But find some problem and can't find f[3], f[4], f[5] and f[6]. If the integral from direct way is hard to calculate please guide me how I can evaluate it using numerical integration?

restart; HAM := [1, 2, 3, 4, 5, 6]; U := y^6*sin(x); alpha := 1/3;

for i while i <= nops(HAM) do

rho := op(i, HAM);

f[i] := int(int(U/((x^rho-p^rho)^alpha*(y^rho-q^rho)^alpha), q = 0 .. y), p = 0 .. x)

end do

Thanks in advance!

Special request to @acer @Carl Love @Kitonum @Preben Alsholm

First 483 484 485 486 487 488 489 Last Page 485 of 2427