## How can I simulate the trajectory of a satellite s...

Hi everyone.

I need a program in maple to simulate the orbit of a satellite slowed down by the earth's atmosphere.

I chose the simple case, in which the orbits of the two are elliptical and I use The animation to do this. In this case I did not consider that the satellite interacts with the atmosphere.

Now,  I need equations to write part of the program in which I think the satellite is slowed down by the earth's atmosphere. I don't have any ideea to resolve this problem.

Soo.. I really need your' help as soon as posible.

Thank you a lot!

## Separate Real and Imaginary Parts of Complex Func...

Dear Users!

Hope you are doing well. I have a funtion give bellow:
beta[1]*exp(x*alpha[1]+y*beta[1]-z*sqrt(-alpha[1]^2-beta[1]^2))/(1+exp(x*alpha[1]+y*beta[1]-z*sqrt(-alpha[1]^2-beta[1]^2)));
For any value of alpha[1] and beta[1] the term highlighted red becomes the imaginary form. I want to separate the real and imaginary parts of this function. Kindly help me in this matter, thanks

## Error in the documentation of the Physics Package ...

Hi, I am trying to enter into the Mini-Course Computer Algebra for Physicists from the help, but instead of going to the page I get the help page of Physics[FeynmanIntegral]. Can anyone confirm that this happens to them on Maple 2021.2?

Kevin

## How do I make a new dataframe based on the criteri...

How do I make a new dataframe based on the criteria that a particular row is included when a particular element in that row is equal to a specific string, say, "Ontario"?

I downloaded the publicly availble covid dataset from the Gov. of Canada website.  I want to look at data pertaining to Ontario only. Each data entry corresponds to a row of data where the second column represents the province or territory.  My goal is to create a new dataframe of rows where the second column entry is equal to the string "Ontario".

In the image below, see how the second column is a mix of different strings.  I want a new dataframe where the second column reads only "Ontario".  I have included my naive attempt to select data with 'prname'="Ontario".

## How do I Solve PDE Equation using Finite Differenc...

Hi, I have problem at this coding. Can you help me?

restart;
eq1 := diff(u(u, t), t) = A[0] + A[1]*cos*omega*t + Beta[1]*[diff(u(u, r), r \$ 2) + diff(u(u, r), r)/r];
d
eq1 := --- u(u, t) = A[0] + A[1] cos omega t
dt

[                  d         ]
[/  2         \   --- u(u, r)]
[| d          |    dr        ]
+ Beta[1] [|---- u(u, r)| + -----------]
[|   2        |        r     ]
[\ dr         /              ]

The*number*of*node*points;
N := 4;
N := 4

The*length*of*domain;
L := 1;
L := 1

BC1 := u(1, t) = 0;
BC1 := u(1, t) = 0

IC1 := u(r, 0) = 0;
IC1 := u(r, 0) = 0

dudt := (u[m + 1] - u[m])/(delta*t);
u[m + 1] - u[m]
dudt := ---------------
delta t

dudr := (u[m + 1, j] - u[m - 1, j])/(2*delta*r);
u[m + 1, j] - u[m - 1, j]
dudr := -------------------------
2 delta r

d2udr2 := (u[m + 1, j] - 2*u[m] + u[m - 1, j])/(delta*r^2);
u[m + 1, j] - 2 u[m] + u[m - 1, j]
d2udr2 := ----------------------------------
2
delta r

Three point forward and backward difference expressions for the derivative are:
Error, unable to parse
Typesetting:-mambiguous(Typesetting:-mambiguous(

Three point forward and backward difference expressions for,

Typesetting:-merror("unable to parse")) the derivative arecolon)

dudrf := (-u[2] + 4*u[1] - 3*u[0])/(2*delta*r);
-u[2] + 4 u[1] - 3 u[0]
dudrf := -----------------------
2 delta r

dudrb := (u[N - 1] - 4*u[N] + 3*u[N + 1])/(2*delta*r);
u[3] - 4 u[4] + 3 u[5]
dudrb := ----------------------
2 delta r

The*governing*equation in finite*difference*form*is;
Eq[m] := subs(diff(u(u, t), t) = dudt, diff(u(u, r), r) = dudr, diff*(u(u, r), r \$ 2) = d2udr2, eq1);
u[m + 1] - u[m]                                     [
Eq[m] := --------------- = A[0] + A[1] cos omega t + Beta[1] [
delta t                                         [
[

/ d  /u[m + 1, j] - u[m - 1, j]\\   u[m + 1, j] - u[m - 1, j]]
|--- |-------------------------|| + -------------------------]
\ dr \        2 delta r        //             2              ]
2 r  delta        ]

The*boundary*condition in finite*difference*form*are;
Eq[0] := subs(diff(u(r), r) = dudrf, u(r) = u[0], BC1);
Eq[0] := u(1, t) = 0

The*initial*condition in finite*difference*form*are;
Eq[N + 1] := subs(diff(u(r), r) = dudrb, u(r) = u[0], IC1);
Eq[5] := u(r, 0) = 0

for i to N do
Eq[m] := subs(m = i, Eq[m]);
end do;
u[2] - u[1]
Eq[m] := ----------- = A[0] + A[1] cos omega t + Beta[1] [0]
delta t

u[2] - u[1]
Eq[m] := ----------- = A[0] + A[1] cos omega t + Beta[1] [0]
delta t

u[2] - u[1]
Eq[m] := ----------- = A[0] + A[1] cos omega t + Beta[1] [0]
delta t

u[2] - u[1]
Eq[m] := ----------- = A[0] + A[1] cos omega t + Beta[1] [0]
delta t

The node spacing is given by:
Error, unable to parse
Typesetting:-mambiguous(Typesetting:-mambiguous(

The node spacing is given by,

Typesetting:-merror("unable to parse"))colon)

h := L/(N + 1);
1
h := -
5

eqs := seq(evalm(subs(Beta = 0.25, Eq[i])), i = 0 .. N + 1);
eqs := u(r, 0) = 0, Eq[1], Eq[2], Eq[3], Eq[4], u(r, 0) = 0

vars := seq(u[i], i = 0 .. N + 1);
vars := u[0], u[1], u[2], u[3], u[4], u[5]

soll := fsolve({eqs}, {vars});
Error, (in fsolve) {r, Eq[1], Eq[2], Eq[3], Eq[4]} are in the equation, and are not solved for

## dsolve with timelimit hangs on first order homogen...

Correction

Please ignore this question. dsolve does hang, but I had typo in the timelimit command itself when I wrote the test. Fixing this, now it timesout OK.

Maybe someone can look why dsolve hangs on this ode. But since timelimit does work, there is a workaround.

Original question

I was checking Maple's dsolve on this textbook problem

The book gives the answer in the back as

When using Maple's dsolve, I found it hangs. The stange thing, is that adding timelimit() also hangs. I can understand dsolve() hanging sometimes. But what I do not understand is why with timelimit it also hangs?

I've waited 20 minutes and then gave up. As you see, the timelimit is 20 seconds. May be if I wait 2 hrs or 20 hrs or 20 days, it will finally timeout. I do not know but can't wait that long.

Do others see same problem on this ode? Does it hang for you? How about on the mac or Linux?

During this time, I see mserver.exe running at very high CPU. I restarted Maple few times, but this did not help.

Maple 2021.2 on windows 10. May be one day Maplesoft will fix timelimit so it works as expected.

 > interface(version)

 > Physics:-Version();

 > restart;
 > ode:=x*diff(y(x),x)=y(x)*cos(ln(y(x)/x)); try    timeout(20,dsolve(ode)); catch:       print("timedout");        end try;    print("OK");

 >

## How do I get an animated zipper-effect when plotti...

I have a series of 5681 points that lie on the unit sphere.  These were generated by a simulation in another software package (I plat to use Maple for this in the future).  But anyway, I'm stuck on plotting right now.    The pointplot3d  command plots them all at once.   I want to slow this down and see them plotted sequentially in time, adding a new point at each time increment.    It would be like watching a zipper or a string of yarn being wound onto a ball.   It doesn't seem like the usual animation controls allow me to do this.  Hope that description makes sense.

Ball_of_yarn.mw

## Evaluating Lyapunov exponent...

Hi! this is another question about chaos dynamic in Maple last question was about invariant denisty measure on which user Carl Love helped me to answer. Below is link to this question:

https://www.mapleprimes.com/questions/233277-How-To-Optimize-Code-For-Counting-Experimental

So now I want to sketch Lyapunov exponent:

restart;
with(plots);
M := 100;
r := evalf([seq(a/M, a = 3*M .. 4*M)]);
x := t -> t;
x0 := 0.2;
iter := 8;

f := x -> r[i]*x*(1 - x)

g := (n, x) -> (f@@n)(x)

L := seq(D(g(iter, x))(x0), i = 1 .. M)

lambda := seq(ln(abs(L[i]))/iter, i = 1 .. M)

pointplot([seq([3 + a/M, lambda[a]], a = 1 .. M)])

here for comparison a better assignment

main problem is to take proper M and iter because iter above 8 takes too much time to calculate and M additonaly extends the time of calculations. M here is about dividing domain of our function lambda and higher M means more accurate value. Iter is from definition of Lyapunov exponent lambda(x0)=lim  1/{iter}( ln(|diff(f^{iter}(x0),x)| ),iter goes to infinity). Iter is for the more irregular shape of the curve.

Thanks in advance and Merry Christmas.

## How to perform this complex substitution...

 >

Some more difficult calculation with complex numbers

Starting from the equation

Thus obtaining

One of the important relations between logarithms and inverse trigonometrische functions

## where is the question now?...

Sorry to bother moderators again but a question from @panke has just disappeared.
I browsed its old questions but found none in a recent past related to the one removed.
Can you please tell me where it has been moved ?

TIA

PS: I understand perfectly the need to avoid multiple occurrences of a same thread, but in case of the displacement of a question, couldn't a systematic message be sent?

## Removed question...

I was developping an answer to @jennierubyjane  but the question disappeared meanwhile.

Here is the answer hopping for someone to restore the initial question (if it still matters?).

EDITED : Answer has been displaced here  233262-How-Do-I-Solve-Error-in-Dsolvenumericbvpconvertsys

## How to act with a differential operator on a funct...

This might be a trivial question, but I have not been able to find the answer. I am using Maple 2018.

I am working with differential operators acting on real valued functions of a real variable. On the first hand, I want to be able to do simple algebra with these operators. For example, I might want to compute the commutator of two such operators. I have been using the DEtools package, toghether with the 'mult' command to perform such calculations. See the atached file containing a simplified version of what I am doing.

Now, I also want to be able to act with my differential operators on a function, and get the resulting function.

(a) What command allows me to do that within my framework? (i.e. that of DEtools with the way I have defined and used my operators)

(b) I there a better way to proceed? (i.e. is there a better way to do both algebra with differential operators and to act with them on functions to get the resulting function)

Many thanks

Example.mw

## disappearing units cause problems in plots...

# Below you find a small example about the function diffdiameter(conc,number), which has the unit length as long as the second argument number is not zero. Using the convert function it is possible to remove the units entirely, but this does not help, if I want to plot the functions. Is there a possibilty to plot diffdiameter(conc,number-not-zero) and diffdiameter(conc,0) in one diagramm? with(Units[Simple]); with(plots); diffdiameter := (conc, number) -> -number*diameter*exp(-conc/Unit(mol/kg)); diffdiameter := proc (conc, number) options operator, arrow; Units:-Simple:-`-`(Units:-Simple:-`*`(Units:-Simple:-`*`(numb\ er, diameter), Units:-Simple:-exp(Units:-Simple:-`-`(Units:-Si\ mple:-`*`(conc, Units:-Simple:-`/`(Unit(Units:-Simple:-`*`(mol\ , Units:-Simple:-`/`(kg))))))))) end proc diameter := 2*Unit(m); diameter := 2 Unit(m) evalf(diffdiameter(Unit(mol/kg), 6)); evalf(diffdiameter(Unit(mol/kg), 0)); -4.414553294 Unit(m) 0. convert(evalf(diffdiameter(Unit(mol/kg), 6)), unit_free); convert(evalf(diffdiameter(Unit(mol/kg), 0)), unit_free); -4.414553294 0. plot([convert(evalf(diffdiameter(conc, 0.001)), unit_free), convert(evalf(diffdiameter(conc, 6)), unit_free)], conc = 0 .. 4*Unit(mol/kg), title = "derivative Diameter with conc", labels = ["concentration / mol/kg", "deriv diameter / m"], color = ["blue", "red"], legend = ["bare diameter", "PLUS diameter"], labeldirections = ["horizontal", "vertical"], titlefont = [Helvetica, bold, 16], axesfont = [Helvetica, 14], labelfont = [Helvetica, 14], axes = boxed); plot([convert(evalf(diffdiameter(conc, 0)), unit_free), convert(evalf(diffdiameter(conc, 6)), unit_free)], conc = 0 .. 4*Unit(mol/kg)); Error, (in plot) invalid subscript selector

## how to obtain this transformation using dchange?...

on DLMF page, they show this transformation on independent variable for second order ode

https://dlmf.nist.gov/1.13#Px7

About half way down the page, under Elimination of First Derivative by Change of Independent Variable section.

I tried to verify it using Maple dchange. But the problem it looks like dchange wants the old variable to be on the left side (z in this example) and the new variable (eta in this example) to be on the right side in the transformation. But on the above web page, it is the other way around.

Here are my attempts

```restart;
ode:=diff(w(z),z\$2)+f(z)*diff(w(z),z)+g(z)*w(z)=0;

tranformation:=eta=int(exp(-int(f(z),z)),z);

PDEtools:-dchange({tranformation},ode,known={z},unknown={eta});
PDEtools:-dchange({tranformation},ode,{eta},known={z});
PDEtools:-dchange({tranformation},ode,{eta});
```

All give errors

Error, (in dchange/info) missing a list with the new variables
Error, (in dchange/info) the new variables are not contained in the rhs of the direct transformation equations
Error, (in dchange/info) the new variables are not contained in the rhs of the direct transformation equations

The problem it does not seem possible to invert the transformation shown on the webpage, so that the old variable z show on the left side and the new variable (eta) on the right side.

Why is this restriction on dchange  Since one tells it which is the new variable and which is the old variable? May be I am not using dchange correctly in this example.

Any suggestion for a workaround to use dchange to verify the above result?

Here is my hand derivation (pdf file attached also)

Can the above be done using dchange?

Maple 2021.2 on windows 10

sol.pdf