MaplePrimes Questions

many times I have an expression with constant of integrations in it and need to integrate., So need to make sure to add a new constant of integration which is not already used.

Currently I do this

restart;
sol:=x-_C1*x+_C3*x^2;
myconstants:=indets(sol,And(symbol, suffixed(_C, nonnegint)));
map(X->String(X),myconstants);
map(X->X[3..],%);
map(X->:-parse(X),%);
n:=max(%);
new_constant:=_C||(n+1);

This make _C4 as the new constant. 

This assumes all constants have form _Cn which is what I use. It finds all _Cn's then converts each to string, then remove _C part from the string leaving the number, then find the maximum one and adds 1 to it to generate new constant to use,

Is there a better way to do this? Even though the above works, I have feeling there might be better way.

Hi,

I am using Maple 2023 on a Mac. When I issue the following commands

with(plots);
for j to 10 do
    pl || j := plot(sin(j*x)^j, x = 0 .. 5);
end do;
display([pl || (1 .. 10)], insequence = true);

I used to get an animation but also some controls: I could easily repeat, reverse, change FPS, etc. Now I seem to have to go Format_>Plot->Animate->Play. Has there been a change in Maple or have set some preference to this awkward form? I admit I have not been using Maple a lot these last couple of years.

3*alpha*a^2*B*cos(3*Phi)/(4*omega[0])-f*cos(Phi)/(2*omega[0]) = sigma*a-3*alpha*a*B^2/omega[0]-3*alpha*a^3/(8*omega[0])

I would like to get a (necessary and sufficient) condition on real parameters a, b, and c for which there exists (at least) one non-negative solution to 9*x**4 + c < 9*a*(x - 1) + 3*b*(x**2 - 1) + c*x**3
A convenient way to formulate this is using quantifiers. Unfortunately, if I run 

QuantifierElimination:-QuantifierEliminate(:-exists([x],:-And(x>=0,9*x^4+c<9*a*(x-1)+3*b*(x^2-1)+c*x^3)));

Maple will simply output 

Error, (in RootFinding:-RSGateway:-refine_uni_tri) invalid input: RootFinding:-RSGateway:-try_refine_iso_tri expects its 1st argument, box, to be of type nonemptylist([rational, rational]), but received [8019*x^2+(-9*v__2^2-96552*v__2-279834912)*x+49*v__2^3+78318*v__2^2-387436932*v__2+121801800168, v__2^4+2052*v__2^3-5536296*v__2^2+3575222064*v__2-710903793888]

As an alternative method, one can execute 

RealDomain:-solve([x >= 0, 9*x**4 + c < 9*a*(x - 1) + 3*b*(x**2 - 1) + c*x**3], 'parameters' = {a, b, c});
Warning,  computation interrupted

Regretfully, this time the computation is not done in several minutes (so one may have to abort it manually). 

So, what is the proper approach to the above problem in Maple (without any a priori knowledge, if possible)?

For instance, considering the expression  ≔ exp(1+LambertW(0,x))*(exp(1)*x+log[exp(1)](sqrt(2*Pi))-lnGAMMA(1/2+exp(1+LambertW(0,x))))

restart;
expr := exp(1+LambertW(x))*(exp(1)*x+ln(sqrt(2*Pi))-lnGAMMA(1/2+exp(1+LambertW(x)))) assuming x >= -1/exp(1):

The following limit can be calculated directly: 

1/:-limit(expr, x = +infinity, 'left');
                               24

We can also evaluate , 

:-limit(1/expr, x = +infinity, 'left'); # MultiSeries:-limit also returns wrong result. 
                               0

However, according to plot([1/(exp(1+LambertW(x))*(exp(1)*x+ln(sqrt(2*Pi))-lnGAMMA(1/2+exp(1+LambertW(x))))), 24], x = -1/exp(1) .. +exp(Pi), 'legend' = [1/expr, 24]), the limit value 0 cannot be correct. 
So is this a bug? (And has this been fixed in the forthcoming version?)

SolnforOS_dsolve.mw 
I would like to solve eq6 in terms of sigma and n. I would appreciate for your help.

I always trobled in coupled nonlinear equations.Could you please help to plot this.

PGVTN.mw

I what compute integral numerically with Precision 14 Digits. I try with:

evalf[2](Int(abs(sin(x^4))/(sqrt(x) + x^2), x = 0 .. infinity, method = _d01amc, methodoptions = [maxintervals = 50000]));# Works with 2 digits only.

I tried all the options and I failed to calculate with more precision.

with change variable: x = -ln(t) I got:

evalf[2](Int((ln(t)^2 - sqrt(-ln(t)))*abs(sin(ln(t)^4))/(ln(t)*(ln(t)^3 + 1)*t), t = 0 .. 1, method = _d01akc, methodoptions = [maxintervals = 500]));#Gives an error!!!

Thanks.

I have doubts as to whether this is possible, but I would like to ask anyway.

For example, can

`*`(`+`(a, b), c);
                           c (a + b)

be written with composed procedures (`*`@`+`) and somehow grouped arguments (a,b) for `+` and (a+b,c) for `*`.

So far I have only come across composed procedures in parethesis applied to one expression in parenthesis.

Since the second pair of parenthesis does a function application to everything what is inside the parenthesis it seems impossible that the right most procedure is only applied to a sub-term of the expression first.

If the answer to my question is no, I want to aks a related question:

Is it possible to separate procedures calls from arguments? So, in a first part of a statement I have a sequence (or a list or a composed function) of procedures/operators and in the second part a sequence of arguments instead of a nested construct of procedure calls?

How to convert this set of PDEs into ODEs? PDEs.mw

How do I draw this plot in Maple?

I have a list as follows:
lst := [`A=70`, `B=17`, `C=27`, `D=37`, `E=74`, `F=57`, `G=67`, `H=08`, `I=81`, `J=28`, `K=38`, `L=48`, `M=58`, `N=68`, `O=90`, `P=19`, `Q=29`, `R=39`, `S=49`, `T=59`, `U=96`, `V=010`, `W=110`, `X=210`, `Y=310`, `Z=410`, "SPACE=105", "DOT=106"]

however using tt:=convert(lst, table) gives

tt:=table([1 = `A=70`, 2 = `B=17`, 3 = `C=27`, 4 = `D=37`, 5 = `E=74`, 6 = `F=57`, 7 = `G=67`, 9 = `I=81`, 8 = `H=08`, 11 = `K=38`, 10 = `J=28`, 13 = `M=58`, 12 = `L=48`, 15 = `O=90`, 14 = `N=68`, 18 = `R=39`, 19 = `S=49`, 16 = `P=19`, 17 = `Q=29`, 22 = `V=010`, 23 = `W=110`, 20 = `T=59`, 21 = `U=96`, 27 = "SPACE=105", 26 = `Z=410`, 25 = `Y=310`, 24 = `X=210`, 28 = "DOT=106"])

I want this to be such that I can retrieve the numerical value assigned to each alphabet e.g.
tt[A] should produce 70.

Good day people, here just asking for your help please.

I am trying to do a taylor serie of a function but I recieved this error:

Error, (in Typesetting:-NeedsBrace) invalid input: the 1st argument to pointto is not a valid pointer handle

The aim of this is get the series to do its integration.

Thank you a lot for your responses.

maple_primes_question.mw

I need to produce some diagrams for the help pages of my package. I trying to typeset the dot product "." on a plot but keep getting a % symbol. I have tried without typesetting but makes no differance.

restart

 

 

Sdim:=proc(A,B,C,clr::string,S:=NULL)
    description"plots spread symbol";
    uses plots,plottools;
    local aa,bb,c,d,e,f,g,h,k,p1,v1,v2,vab,vac;
    vab:=Vector(B-A);
    vac:=Vector(C-A);
    aa:=(B-A)/5;
    bb:=(C-A)/5;
    p1:=plottools:-point([A,B,C],symbol=solidcircle);
    c:= plottools:-line(A+aa,A+bb);
    d:=plottools:-line(A,B);
    e:=plottools:-line(A,C);
    f:=plots:-textplot([op(1.1*(A+(aa+bb)/2)+[1.5,0]), typeset(S)]);   #print S
    g:=plots:-textplot([op(.9*A), typeset([x[1],y[1]])]);  #[x1,y1]
    h:=plots:-textplot([op(1.1*B), typeset([x[2],y[2]])]);  #x2,y2]
    k:=plots:-textplot([op(1.05*C), typeset([x[3],y[3]])]);  #x3,y3]
    v1:=plots:-textplot([op(A+(B-A)/2+[.2,-.2]), typeset(`#mover(mi("v"),mo("&rharu;"))`[a])]);   # vector symbol
    v2:=plots:-textplot([op(A+(C-A)/2+[-.2,.2]), typeset(`#mover(mi("v"),mo("&rharu;"))`[b])]);   #vector symbol
    display(p1,c,d,e,f,g,h,k,v1,v2,axes=none,scaling=constrained,caption="Spread between two vectors");    #place title under diagram
end proc

 

proc (A, B, C, clr::string, S := NULL) local aa, bb, c, d, e, f, g, h, k, p1, v1, v2, vab, vac; description "plots spread symbol"; vab := Vector(B-A); vac := Vector(C-A); aa := (1/5)*B-(1/5)*A; bb := (1/5)*C-(1/5)*A; p1 := plottools:-point([A, B, C], symbol = solidcircle); c := plottools:-line(A+aa, A+bb); d := plottools:-line(A, B); e := plottools:-line(A, C); f := plots:-textplot([op(1.1*(A+(1/2)*aa+(1/2)*bb)+[1.5, 0]), typeset(S)]); g := plots:-textplot([op(.9*A), typeset([x[1], y[1]])]); h := plots:-textplot([op(1.1*B), typeset([x[2], y[2]])]); k := plots:-textplot([op(1.05*C), typeset([x[3], y[3]])]); v1 := plots:-textplot([op((1/2)*A+(1/2)*B+[.2, -.2]), typeset(`#mover(mi("v"),mo("&rharu;"))`[a])]); v2 := plots:-textplot([op((1/2)*A+(1/2)*C+[-.2, .2]), typeset(`#mover(mi("v"),mo("&rharu;"))`[b])]); plots:-display(p1, c, d, e, f, g, h, k, v1, v2, axes = none, scaling = constrained, caption = "Spread between two vectors") end proc

(1)

Spr:=S=1-(`#mover(mi("v"),mo("&rharu;"))`[b-a]%.`#mover(mi("v"),mo("&rharu;"))`[b-a])^2/(`#mover(mi("v"),mo("&rharu;"))`[a]%.`#mover(mi("v"),mo("&rharu;"))`[a])/(`#mover(mi("v"),mo("&rharu;"))`[b]%.`#mover(mi("v"),mo("&rharu;"))`[b]);

S = 1-`%.`(`#mover(mi("v"),mo("&rharu;"))`[b-a], `#mover(mi("v"),mo("&rharu;"))`[b-a])^2/(`%.`(`#mover(mi("v"),mo("&rharu;"))`[a], `#mover(mi("v"),mo("&rharu;"))`[a])*`%.`(`#mover(mi("v"),mo("&rharu;"))`[b], `#mover(mi("v"),mo("&rharu;"))`[b]))

(2)

Sdim([1,2],[5,1],[4,7],"blue",Spr);

 

 

 

Download Q_2024-02-15_Help_Spread_diagram.mw

I've got a problem where I need to find the shortest route between a list of points. Each point must only be visited once.

To solve the problem I admit that I have used ChatGPT. While the answer was very helpful, the thing is that it apparently doesn't work (yet). The problem is that the function in the package is not existing.

Here's the ChatGPT code.

Any help appreciated.

euclidean_distance := proc (p1, p2) options operator, arrow; sqrt((p1[1]-p2[1])^2+(p1[2]-p2[2])^2) end proc; points := [[0, 0], [1, 2], [3, 1], [5, 4]]; distance_matrix := Matrix([`$`([`$`(euclidean_distance(points[i], points[j]), i = 1 .. 4)], j = 1 .. 4)]); solution := Optimization:-LinearSumAssignment(distance_matrix); optimal_route := [`$`(points[i], `in`(i, solution[1]))]; total_distance := add(`$`(distance_matrix[i, solution[1][i]], `in`(i, solution[1]))); print("Optimal route:", optimal_route); print("Total distance:", total_distance)

"Total distance:", total_distance

(1)

NULL

Download TravellingSalesManChatGPT.mw

First 132 133 134 135 136 137 138 Last Page 134 of 2428