Maple 2020 Questions and Posts

These are Posts and Questions associated with the product, Maple 2020

This worksheet creates geodesics in the Poincare disk by transformation of a series of circles of diminishing radii in the complex plane.

The intersections of the geodesics are meant to create the first few pentagonal uniform tilings in the Poincare disk.

I do not know the mathematically correct way to create such a display, so the radii of the circles are only a trial and error approximation.

What Maple code will provide the radii of the complex circles which produce an accurate uniform pentagonal tiling?

Is there a better overall strategy for producing uniform tilings of the Poincare disk? 

HyperbolicTiling.mw

I've been trying to implement numeric integration by using different methods of Int, for example _d01ajc, but when I use it, the following error comes up:

W := -16*(x - 1/2)*x*(t + 2*w)*(ln((m^2 + w*x*(-1 + x))/m^2)*ln(-1/(w*(t + w)*x^2 - w*(t + w)*x + m^2*t)) + ln(-x*w^2*(-1 + x))*ln((x^2 - x)*w + m^2) + ln(1/m^2)*ln((t + w)*(-1 + x)) + ln(-1/(x*w))*ln(m^2) + dilog(x*w^2*(-1 + x)/(w*(t + w)*x^2 - w*(t + w)*x + m^2*t)) - dilog(x*w*(-1 + x)*(t + w)/(w*(t + w)*x^2 - w*(t + w)*x + m^2*t)))/t^3 + 8*(x - 1/2)*((t + w)*x - t/2)*(-t*(w*x^2 + m^2 - w*x)*(t + w)*ln((x^2 - x)*w + m^2) + w*(x*w*(-1 + x)*(t + w)*ln((t + w)/w) + m^2*t*ln(m^2)))*(2*w*x + t)/(w*(t + w)*(w*(t + w)*x^2 - w*(t + w)*x + m^2*t)*t^3*x) + (16*x^2 - 8*x)/(t*w*(-1 + x)) + (2*t*x + 2*w*x - t - 2*w)*(2*w*x + t - 2*w)*(1 - 2*x)*ln((t*x + (-1 + x)*w)/((-1 + x)*w))/(((-1 + x)^2*w^2 + w*t*x*(-1 + x) + m^2*t)*t^2) + (-1 + 2*x)*(2*m^2 + w*x - w)*(2*w*x^2 + 2*m^2 - 3*w*x + w)*ln(m^2/(m^2 + w*x*(-1 + x)))/(w^2*(-1 + x)^2*((-1 + x)^2*w^2 + w*t*x*(-1 + x) + m^2*t)) + (-1 + 2*x)*(2*m^2 + w*x - w)*(2*w*x^2 + 2*m^2 - 3*w*x + w)*ln(m^2/(m^2 + w*x*(-1 + x)))/(w^2*(-1 + x)^2*(w*(t + w)*x^2 - w*(t + w)*x + m^2*t)) + (2*w*x + t)*((t + w)*x - t/2)*(x - 1/2)*ln(w^4/(t + w)^4)/(t^2*(w*(t + w)*x^2 - w*(t + w)*x + m^2*t)) - 8*(x - 1/2)*((-2 + 2*x)*w + t)*((-1 + x)*w + (x - 1/2)*t)*((t*x + (-1 + x)*w)*w^2*(-1 + x)^2*ln((t*x + (-1 + x)*w)/((-1 + x)*w)) + (-(t*x + (-1 + x)*w)*((x^2 - x)*w + m^2)*ln((x^2 - x)*w + m^2) + ln(m^2)*m^2*w*(-1 + x))*t)/((t*x + (-1 + x)*w)*w*(-1 + x)*t^3*((-1 + x)^2*w^2 + w*t*x*(-1 + x) + m^2*t)) + 16*(x - 1/2)*(ln(1/m^2)*ln((t*x + (-1 + x)*w)*(-1 + x)*w/((-1 + x)^2*w^2 + w*t*x*(-1 + x) + m^2*t)) + ln((x^2 - x)*w + m^2)*ln(1/((-1 + x)^2*w^2 + w*t*x*(-1 + x) + m^2*t)) + ln((-1 + x)^2*w^2)*ln((x^2 - x)*w + m^2) - dilog((t*x + (-1 + x)*w)*(-1 + x)*w/((-1 + x)^2*w^2 + w*t*x*(-1 + x) + m^2*t)) + dilog((-1 + x)^2*w^2/((-1 + x)^2*w^2 + w*t*x*(-1 + x) + m^2*t)))*(t*x + 2*(-1 + x)*w)/t^3

f3 := (mm, ss, tt, ww) -> Int(eval(W, [s = ss, t = tt, w = ww, m = mm]), x = 0 .. 1, _d01ajc)

A3 := evalf(f3(1, 3, -2, -1))

Error, (in evalf/int) number expected for float[8] parameter, got 0.+0.*I

What's wrong?

restart; with(LinearAlgebra); with(plots); with(SolveTools); eq1 := m1*m2*x^4+(c1*m2+c2*m1+c2*m2)*x^3+(c1*c2+k1*m2+k2*m1+k2*m2)*x^2+(c1*k2+c2*k1)*x+k1*k2

m1*m2*x^4+(c1*m2+c2*m1+c2*m2)*x^3+(c1*c2+k1*m2+k2*m1+k2*m2)*x^2+(c1*k2+c2*k1)*x+k1*k2

(1)

m1 := 2;
m2 := 4;
c1 := 1;
c2 := 0;
k1 := 3;
k2 := 2;

2

 

4

 

1

 

0

 

3

 

2

(2)

eq1

8*x^4+4*x^3+24*x^2+2*x+6

(3)

``

sol1 := evalf(solve(8*x^4+4*x^3+24*x^2+2*x+6 = 0))

-0.2293604281e-1+.5263956354*I, -.2270639572+1.627879522*I, -.2270639572-1.627879522*I, -0.2293604281e-1-.5263956354*I

(4)

assign(sol1)

Error, invalid left hand side in assignment

 

NULL

``

Download complex_numbers.mw

Can I specify a unit for a symbol using the Units package, so that when I substitute a value for that symbol into an expression, the units for the value are already known?

Hello,

Problem description

1) Define a function in terms of variables and parameters,

2) FInd the optimal solution

3) Plot the optimal solution in terms of a single parameter

 

Solution

What I have done is very basic since I haven't use Maple for many years. Here is an example

1) f(x;a,b,c):= ax^2+bx+c; (I don't knpw how to tell Maple that {a,b,c} is a set of parameters)

2) solve(f(x)=0,x); (I could use something like solve(f(x)=0,x,'parametric','real') but I am not interested in so detailed solution)

3) Here is my main problem. I want to save the first solution of x in optx(a;b,c) and the second in opttx(a;b,c) but I don't know how to do it (again, here a is my variable and b,c my parameters)

4) I also don't know hot to plot optx(a) as a increases, whereas the values of {b,c}={e.g., 2,3}

 

I would appreciate any resources/guidance 

Hello

I purchased the license of Maple 2019 and I am using the same version up to now. I am wondering if I download the latest version, can I use the former license? When I click on "check for updates" there is nothing for updating but when I want to run a Maple file written in the latest version, I face an error. 

Hello colleagues

I use Maple 2020 and I try to create Histogram of Poisson with a mean 200 [ Histogram(Sample(Poisson(200),10000))]. but I get an incorrect result in the form of a histogram as uniform distribution. But In my Maple 2015 I get a correct result.what is the problem?

Hello, 

I use Syrup to solve for the transfer function of a circuit, and in particular, the voltage at a given node.   If I use the "trans" option, the solution generates the expected result, in the expected format.  Syrup solves the differential equations and the resulting time domain equation is as expected.

If I then use the 'AC'  option, I get the result in the s-domain.  I then solve for the step response, and take the inverse Laplace transform.  The solution is given in terms of sinh and cosh.   

If I plot the voltage in either solution as a function of time, the plots are identical.  So, the sinh/cosh solution must be somehow simplifiable so that it "looks" like the time domain solution I get from the transient analysis.
 

restart

with(inttrans)

with(Syrup)NULL

with(DynamicSystems)

interface('displayprecision' = 8)

with(plots)

NULL

assum := R1::real, C1::real, R2::real, C2::real, R1 > 0, R2 > 0, C1 > 0, C2 > 0, t::realvin::real, vin > 0

vin::real, 0 < vin

(1)

ckt := [vin(5), Rm(1.0*10^7), Cm(1.8*10^(-11), ic = 0), `&//`(R1(9.*10^6), C1(1.5*10^(-11), ic = 0)), `&//`(R2(1.*10^6), C2(1.5*10^(-11), ic = 0))]

[vin(5), Rm(10000000.0), Cm(0.1800000000e-10, ic = 0), `&//`(R1(9000000.), C1(0.1500000000e-10, ic = 0)), `&//`(R2(1000000.), C2(0.1500000000e-10, ic = 0))]

(2)

NULL

NULL

ckt1 := [vin(0), Rm(0.10e8), Cm(0.18e-10, ic = 2.5), `&//`(R1(0.9e7), C1(0.15e-10, ic = 2.25)), `&//`(R2(0.1e7), C2(0.15e-10, ic = .25))]

[vin(0), Rm(0.10e8), Cm(0.18e-10, ic = 2.5), `&//`(R1(0.9e7), C1(0.15e-10, ic = 2.25)), `&//`(R2(0.1e7), C2(0.15e-10, ic = .25))]

(3)

Draw(ckt)

Solution doing Transient Analysis

deqs, rest := Solve(ckt, 'tran', 'returnall')

sol1 := dsolve(deqs):

Reassign rest to include the solution.

rest := eval(rest,sol1):

Compute the voltage across the capacitor Cm.

tmp1:=simplify(eval(v[Cm](t), sol1));

(1/32164)*(-415*8041^(1/2)-40205)*exp((100000/459)*(-119+8041^(1/2))*t)+5/2+(1/32164)*(415*8041^(1/2)-40205)*exp(-(100000/459)*(119+8041^(1/2))*t)

(4)

evalf[5]((1/32164)*(-415*8041^(1/2)-40205)*exp((100000/459)*(-119+8041^(1/2))*t)+5/2+(1/32164)*(415*8041^(1/2)-40205)*exp(-(100000/459)*(119+8041^(1/2))*t))

-2.4070*exp(-6389.4*t)+2.5000-0.92993e-1*exp(-45461.*t)

(5)

solve(tmp1=2.5*(1-exp(-1)),t)

p10 := plot(tmp1, t = 0 .. 0.00050000, color = 'blue', linestyle = 'dash')

p10 := plot(tmp1, t = 0 .. 0.5e-3, color = 'blue', linestyle = 'dash')

 

Solution from AC analysis:

sol, rest := Solve(ckt, 'returnall')

vnode2 := eval(v[2], sol)

1000000*(27*s+1000000)/(1377*s^2+71400000*s+400000000000)

(7)

1000000*(27*s+1000000)/(1377*s^2+71400000*s+400000000000)

(8)

``

NULLNULL

Impulse Response

temp1 := invlaplace(vnode2, s, t)

(1000000/24123)*exp(-(700000/27)*t)*(3*8041^(1/2)*sinh((100000/459)*t*8041^(1/2))+473*cosh((100000/459)*t*8041^(1/2)))

(9)

"(->)"

41.454*exp(-25926.*t)*(269.02*sinh(19536.*t)+473.*cosh(19536.*t))

(10)

Step Response

temp2 := invlaplace(vnode2/s, s, t)

5/2-(5/16082)*exp(-(700000/27)*t)*(83*8041^(1/2)*sinh((100000/459)*t*8041^(1/2))+8041*cosh((100000/459)*t*8041^(1/2)))

(11)

p1 := plot({temp2, (1-exp(-1))*2.5}, t = 0 .. 0.5e-3)

temp3 := solve(temp2 = (1-exp(-1))*2.5, t)

0.1505875131e-3

(12)

p2 := plot([temp3, temp3], [0, 2.5])

display({p1, p10, p2})

 
   

``

What is going on?  Where are the sinh and cosh terms in the solution coming from and why wont it simplify so that it looks like the other solution if they are identical?  Is there something special I need to do when using the invlaplace function?

Thanks!

Download help_maple.mw

 

 

This worksheet attempts to implement figures in Section 3 of the book "Indra's pearls" by Mumford, Series and Wright using the  command complexplot.

The worksheet seems to display Figure 3.1 on page 63 accurately but fails to correctly display Figure 3.4 on page 67.

Can complexplot be coded to accurately display this figure?

Indras_pearls_spirals.mw

Initially I have a system of w(x,y,t) and f(x,y,t). I have a set of two partial differential equations with this system. Later on, the system is modified into w(x,y,t,z) andf(x,y,t,z) where x and z are related due to the presence of boundary layers. Because of this, the partial differential expressions with respect to x has to change.

For example, initially: diff(w(x,y,t),x)=diff(w(x,y,t),x)
Later on, when the system gets modified in the presence of boundary layers on application of chain rule: diff(w(x,y,t,z),x)=diff(w(x,y,t,z),x)+diff(w(x,y,t,z),z)*diff(z,x)

This change has to happen for all higher order derivatives of x. In my case, I have upto 4th order derivative in x. How do I achieve these changes in the expressions in Maple in an elegant manner?

I want to create a random polynomial using randpoly() with coefficients in a given list A := [1,1,2,5,6].

For that, I need to create a function that works as rand(1..9) but that when called returns a random element of A instead of a random number between 1 and 9.

What I have tried so far is

r := rand(1..numelems(A))
A[r()]

However, that returns a random element of A, not a function that returns a random element of A.

I've also tried

rand(A(1..numelems(A)))

But that gives an error.

One way of solving this problem would be to find out how to create a `..` type with the desired elements, something that works as 1..9 but with the elements of A. But convert(A,`..`) doesn't work and the rest of the things I tried don't work either.

Hi..

OK, so my real-life example is I have a 3m gap between the house and the garage which I want to hang a sunshade. 
The hanging point on the house is 2.6m high and on the garage 2.1m (above ground). 

I have a choice between 2 sun sails, and I want to know -approximately- what sag I can expect from each.

I realise this is not exactly the same as the hanging wire problem i posted before.. but it my attempt anyway. Can anyone improve?

Sails.mw

there is this ref

https://www.mapleprimes.com/questions/147809-Real-Solution-For-Catenary-Differential-Equation

 

Hi. following on from

https://www.mapleprimes.com/questions/232817-Solving-Hanging-Cable-#comment281577

Second case: unequal poles.

I tried to work with vv's solution, but I got a problem... the required formula is

y=10.85378553130*cosh(0.0921337534371039*x) - 10.85378553130

Uneven.mw

Hi

I am trying to follow this paper

http://euclid.trentu.ca/aejm/V4N1/Chatterjee.V4N1.pdf

Lets start with the easier problem, equal poles. Assume that the length of the cable is 120m and the two poles have equal height of 50m. Our goal is to determine the minimum distance between the two poles that will prevent the cable from touching the ground.

I was trying to get Maple to agree with their derived formula, namely

y(x)= 11*cosh(1/11*x) - 61,

but I think I have not set the IC's correctly. or provided for the length of the cable.

restart:
int(sqrt(1+diff(y(t),t)^2),t=0..x)=120/2

//can't solve the above directly, or maybe someone clever here can

//a is a constant
DIV := diff(y(x), x, x) = a*sqrt(1 + diff(y(x), x)^2);
RV := y(0) = 0, D(y)(0) = -50;
dsolve({DIV});
Opl := dsolve({DIV, RV}, y(x));
allvalues(%)
 

 

Hi,

I'd like to know, if it is possible to define any sort of range for parameters in NonlinearFit. E. g. I know that one of parameters should be somewhere between 0.2 - 0.4. I know there is a possibility of initalvalues, but using it doesn't lead into this range.

Thanks.

1 2 3 4 5 6 7 Last Page 1 of 48