Maple 2015 Questions and Posts

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

Dear Users!

I hope you are doing well. In the attached file I want to convert the system of ODEs (attained the system against the value of M) into matrix form and need the matrices A, B and vector b. Remember the order of A, B and b vary as M vary. I am waiting for your kind response. Please take care and thanks

System_of_ODEs.mw

Dear Users!

I hope everyone is fine here. I want to solve the following system of PDEs associated with Robin-type boundary conditions. But got the error. Kindly help me to fix this issue. Thanks

restart; TT := 0.1e-2; l := 1/5; b[1] := .18; b[2] := 2*10^(-9); k[1] := 1.3*10^(-7); k[-1] := 24; k[2] := 7.2; p := .9997; d[1] := 0.412e-1; f := .2988*10^8; g := 2.02*10^7; s := 1.36*10^4; E[0] := 3.3*10^5; T1[0] := .5*10^9; C1[0] := 3.3*10^5; alpha[0] := 10^(-10); D1 := 10^(-6); D2 := 10^(-2); D3 := 10^(-6); d[4] := 1.155*10^(-2); t[0] := 1/D1; kappa := 10^4; k[3] := 300*(24*60); chi := 0; sigma := d[1]*t[0]; rho := f*t[0]*C1[0]/(E[0]*T1[0]); mu := k[1]*t[0]*T1[0]; eta := g/T1[0]; epsilon := t[0]*C1[0]*(p*k[2]+k[-1])/E[0]; omega := D3/D1; beta1 := b[1]*t[0]; beta2 := b[2]*T1[0]; phi := k[1]*t[0]*E[0]; lambda := t[0]*C1[0]*(k[-1]+k[2]*(1-p))/T1[0]; psi := t[0]*(k[-1]+k[2]); gamma1 := chi*alpha[0]/D1; delta := D2/D1; kappa := k[3]*t[0]*C1[0]/alpha[0]; xi := d[4]*t[0]; PDE1 := diff(u(y, t), t) = diff(u(y, t), y, y)-gamma1*(u(y, t)*(diff(theta(y, t), y, y))+(diff(u(y, t), y))*(diff(theta(y, t), y)))+sigma*piecewise(y <= l, 0, 1)+rho*C(y, t)/(eta+T(y, t))-sigma*u(y, t)-mu*u(y, t)*T(y, t)+epsilon*C(y, t); PDE2 := diff(theta(y, t), t) = delta*(diff(theta(y, t), y, y))+kappa*C(y, t)-xi*theta(y, t); PDE3 := diff(T(y, t), t) = omega*(diff(T(y, t), y, y))+beta1*(1-beta2*T(y, t))*T(y, t)-phi*u(y, t)*T(y, t)+lambda*C(y, t); PDE4 := diff(C(y, t), t) = mu*u(y, t)*T(y, t)-psi*C(y, t); ICs := u(y, 0) = piecewise(0 <= y and y <= l, 0, 1-exp(-1000*(x-l)^2)), T(y, 0) = piecewise(0 <= y and y <= l, 1-exp(-1000*(x-l)^2), 0), C(y, 0) = piecewise(l-epsilon <= y and y <= l+epsilon, exp(-1000*(x-l)^2), 1-exp(-1000*(x-l)^2)), theta(y, 0) = 0; BCs := {(D[1](C))(0, t) = 0, (D[1](C))(1, t) = 0, (D[1](T))(0, t) = 0, (D[1](T))(1, t) = 0, (D[1](theta))(0, t) = 0, (D[1](theta))(1, t) = 0, (D[1](u))(0, t) = 0, (D[1](u))(1, t) = 0};

PDE:= {PDE1, PDE2, PDE3, PDE4}; pds := pdsolve(PDE, {ICs}, BCs, numeric, spacestep = 1/100, timestep = 1/100);

Error, (in pdsolve/numeric/process_PDEs) specified dependent variable(s) {(D[1](C))(0, t) = 0, (D[1](C))(1, t) = 0, (D[1](T))(0, t) = 0, (D[1](T))(1, t) = 0, (D[1](theta))(0, t) = 0, (D[1](theta))(1, t) = 0, (D[1](u))(0, t) = 0, (D[1](u))(1, t) = 0} not present in input PDE
 

Hi!

I hope everyone is fine. I have a square matrix like the following form
A := Matrix([[10, -1, 2, 0], [-1, 11, -1, 3], [2, -1, 10, -1], [0, 3, -1, 8]]);
How to split A into three matrices D, L and U as:

D:= Matrix([[10, 0, 0, 0], [0, 11, 0, 0], [0, 0, 10, 0], [0, 0, 0, 8]]);
L := Matrix([[0, 0, 0, 0], [-1, 0, 0, 0], [2, -1, 0, 0], [0, 3, -1, 0]]);
U := Matrix([[0, -1, 2, 0], [0, 0, -1, 3], [0, 0, 0, -1], [0, 0, 0, 0]]);

I am waiting for your positive response. Please take care

Hi dear Users!

I hope everyone here is fine. I have a function like

f := exp(-t)*(x^2-5*x^3+10*x^5+x+3+.5*x^4)+(1/2)*x^2*(x-1)+2*sin(x);

I have to find the value of t at which the behavior of this function is constant for 6 decimal places against x from 0..1. This is my effort

restart;
N := 20; TOL := 10^(-6); Points := 100000;
f := exp(-t)*(x^2-5*x^3+10*x^5+x+3+.5*x^4)+(1/2)*x^2*(x-1)+2*sin(x);
for j from 0 while j <= 10 do print("\nWhen x = ", j/(10.));
for i from 0 while i <= Points do
g[i, j] := evalf(eval(f, [x = (1/10)*j, t = N*i/Points]));
if `and`(i >= 1, abs(g[i, j]-g[i-1, j]) < TOL) then print("Value of t = ", evalf(N*i/Points)); print("Value of f = ", g[i, j]); break else  
end if end do end do;


The same value is then verified by making graphs

plot([eval(f, t = 1), eval(f, t = 2), eval(f, t = 3), eval(f, t = 4), eval(f, t = 5), eval(f, t = 6), eval(f, t = 7)], x = 0 .. 1, color = [red, green, blue, cyan, yellow, black, purple]);
plot(eval(f, x = .8), t = 0.1e-1 .. N);

 

Here I want to know if is there any more effective maple command to find the value of t rather than using procedures (highlighted by red) or a graphical way.

Hi Users!

I hope everyone is fine. I want to plot any function say
f := exp(cos(x)+sin(x)) for x=a..b for any n say 12 so that h := (b-a)/n. 

For a=0, b=3 and n=12 I got h=1/4 and plot of f is:

But I want the plotting as given bellow where the value of f(x) is mentioned and girds line.

I am waiting for your answer. Thanks in advance.

 

Dear Users!

I hope everyone is fine here. I wrote the following statements with the print command:

restart; NN := [4, 6, 8]; a := 0; b := 2; n := 4;
h := evalf((b-a)/n); print("The domain of intergation is [a,b] = ", [a, b]);
f := exp(x); print("The given function is ", f);
Exact := evalf(int(f, x = a .. b)); print("The exact integration in [a,b] is ", Exact);
print("The value of h to divide the domain [a,b] into n subintervals is ", h);
print("Numerical integration in [a,b] is going to perform when h via RECTANGULAR METHOD for n = ", n);

The output is:

                          0.5000000000
        "The domain of integration is [a,b] = ", [0, 2]
                "The given function is ", exp(x)
       "The exact integration in [a,b] is ", 6.389056099
"The value of h to divide the domain [a,b] into n subintervals is ", 0.5000000000
"Numerical integration in [a,b] is going to perform when h via RECTANGULAR METHOD for n = ", 4

I want the actual values of a,b, n and h highlighted in above as:

                            0.5000000000
        "The domain of integration is [a,b] = ", [0, 2]
                "The given function is ", exp(x)
       "The exact integration in [0,2] is ", 6.389056099
"The value of h to divide the domain [0,2] into 4 subintervals is ", 0.5000000000
"Numerical integration in [0,2] is going to perform when 0.5 via RECTANGULAR METHOD for n = ", 4

Dear users! 

I hope everyone is fine here. I have the following expression:

r*y[0, 1]+y[0, 0]+(1/6)*r*(r-1)*(1+r)*y[-1, 3]+(1/2)*r*(r-1)*y[-1, 2]+(1/120)*r*(r-1)*(r-2)*(1+r)*(2+r)*y[-2, 5]+(1/24)*r*(r-1)*(r-2)*(1+r)*y[-2, 4]+(1/720)*r*(r-1)*(r-2)*(r-3)*(r-4)*(1+r)*y[-3, 8]+(1/360)*r*(r-1)^2*(r-2)*(r-3)*(1+r)*y[-3, 7]+(1/720)*r*(r-1)*(r-2)*(r-3)*(1+r)*(2+r)*y[-3, 6]:

What is the procedure to select some terms in the above expression for example for N=2 I just want the following terms:

y[0, 0]+r*y[0, 1]+(1/2)*r*(r-1)*y[-1, 2];

and for N=3 I just want the following terms:

y[0, 0]+r*y[0, 1]+(1/2)*r*(r-1)*y[-1, 2]+(1/6)*r*(r-1)*(1+r)*y[-1, 3];

and for N=4 I want:

(1/24)*r*(r-1)*(r-2)*(1+r)*y[-2, 4]+y[0, 0]+r*y[0, 1]+(1/2)*r*(r-1)*y[-1, 2]+(1/6)*r*(r-1)*(1+r)*y[-1, 3];

and so on,

in the descending order in first suffices and ascending order in second suffices (like term having y[0,0],  y[0,1], y[-1,2], y[-1,3], y[-2,4]). I am waiting for your response. Thanks.

 


How to force Maple to prove equality (2) under conditions cond.

 

restart:

# Given
#     0 < u < 1
#     0 < v < 1
#     theta > 1
#
# let F the function defined by:

F := (u, v) -> exp(-((-ln(u))^theta+(-ln(v))^theta)^(1/theta))

proc (u, v) options operator, arrow; exp(-((-ln(u))^theta+(-ln(v))^theta)^(1/theta)) end proc

(1)

# How to prove this equality for any n > 0?

'F(u^(1/n), v^(1/n))^n' = 'F(u, v)'

F(u^(1/n), v^(1/n))^n = F(u, v)

(2)

cond := u > 0, u < 1, v > 0, v < 1, theta > 1, n > 1:

simplify(F(u^(1/n), v^(1/n))^n - F(u, v)) assuming cond;

(exp(-(((-ln(u))^theta+(-ln(v))^theta)*n^(-theta))^(1/theta)))^n-exp(-((-ln(u))^theta+(-ln(v))^theta)^(1/theta))

(3)

 

 

Download Stable.mw


Thanks for your help.

Hi dear users!

I hope everyone is fine here. I want to compute the NULL SPACE vector V2[1], V2[2], V2[3],... of matrices MatrixEquationAgain2[1], MatrixEquationAgain2[2], MatrixEquationAgain2[3]... for different values of M. Kindly see my attached file where I struggled a lot but failed to evaluate it. Kindly help me to compute it. Thanks in advance

NULL_SPACE.mw

Do you have any idea why the graph of function f (see the attached file) is not displayed?
How can I plot it without using the 

plot([seq([t, f], t in [seq](0.9..1.12, 0.002))]);

command ?

Thanks in advance.

restart:

kernelopts(version)

`Maple 2015.2, APPLE UNIVERSAL OSX, Dec 20 2015, Build ID 1097895`

(1)

f := 4.185692792*10^2172*t^2499*exp(-5000.000000*sqrt(t));

# Here is a plot of f

plot([seq([t, f], t in [seq](0.9..1.12, 0.002))]);

0.4185692792e2173*t^2499*exp(-5000.000000*t^(1/2))

 

 

# How can I plot f using simply:

plot(f, t=0.9..1.12);  #no graph

 

# As numelems([seq](0.9..1.12, 0.002)) = 111, I assume
# that forcing numpoints to a number that at least equal
# to this one could give a non null display?

plot(f, t=0.9..1.12, numpoints=1000):  #no graph

# adaptive=true option doesn't help

plot(f, t=0.9..1.12, adaptive=true):  #no graph

# Last attempt by forcing a list of points where f has to be evaluated.

plot(f, t=0.9..1.12, sample=[seq](0.9..1.12, 0.002))

 

 

Download NoPlot.mw

Here is a chunk of a more complex code

# syntax 1

decisions := "accept", "reject":

T := 2:
# The true test is `if`(t > T, ...) where t comes from some computation.
# In order to focus on the issue I assumed t was equal to 1.
`if`(1 > T, decisions[1], decisions[2]);
                   "reject"

To get a more concise writing, I did the following

# syntax 2

decisions := "accept", "reject": 
T := 2: 
`if`(1 > T, decisions);

and received this error

Error, invalid input: `if` expects 3 arguments, but received 2

Why doesn't `if` recognizes that decisions is a two parameters sequence?
Is there a way to force `if` to understand syntax 2 ?

I tried replacing `if` by piecewise: while getting no error I can't understand why I got si strange results:

piecewise(1 > T, decisions);
piecewise(3 > T, decisions);
                               0
                       "accept", "reject"

What mechanism does piecewise use to return these values?

Thanks in advance

If_and_piecewise.mw

In a recent answer I posted, I had a relation of the form

I*Int(f(x), x) = something - 2*I*Int(f(x), x)

and I wanted to isolate the term Int(f(x), x).
The function isolate failed to do it and I was forced to use some workaround to do the "isolation".

Trying to understand what happened here, it seems that isolate fails when the term to isolate is multiplied by the imaginary unit
Here are a few examples

expr := I*(Int(x^2*ln(-x+sqrt(x^2-1)), x)) = g(x) -(2*I)*(Int(x^2*ln(-x+sqrt(x^2-1)), x))

I*(Int(x^2*ln(-x+(x^2-1)^(1/2)), x)) = g(x)-(2*I)*(Int(x^2*ln(-x+(x^2-1)^(1/2)), x))

(1)

# no isolation

isolate(expr, lhs(expr))

I*(Int(x^2*ln(-x+(x^2-1)^(1/2)), x)) = g(x)-(2*I)*(Int(x^2*ln(-x+(x^2-1)^(1/2)), x))

(2)

# isolation

expr_1 := expand(expr / I)
isolate(expr_1, lhs(expr_1))

Int(x^2*ln(-x+(x^2-1)^(1/2)), x) = -((1/3)*I)*g(x)

(3)

# no isolation neither, so the problem is not related to "Int"

expr := I*diff(h(x), x) = g(x) -2*I*diff(h(x), x):
isolate(expr, lhs(expr))

I*(diff(h(x), x)) = g(x)-(2*I)*(diff(h(x), x))

(4)

# no isolation neither, so the problem comes from "I"

expr := I*A = g(x) -2*I*A:
isolate(expr, lhs(expr))

I*A = g(x)-(2*I)*A

(5)

# isolation (of course)

expr := c*A = g(x) -2*c*A:
isolate(expr, lhs(expr))

c*A = (1/3)*g(x)

(6)

 

Download Isolation.mw

I guess this is a known behavior, but why it is so?
Is there a way to force the "isolation" without using a trick like in result (3)

Thanks in advance

Hi!

I want to implement to attached fortran program in Maple 2015 (the procudure starts at the end of the first page). 

localmin.pdf

The code does not seem dificult, but I don't know how to interpret the instructions "go to" of fortran. Reading Maple's doc about the "goto" instruction, I don't understand how to implement it.

Can somebody help with this code, please?

Many thanks in advance for your comments.

Hi, 
I met a an unexpected behaviour of a procedure when the parameter sequence contains the type ':-RandomVariable':  

restart:
with(Statistics):
f1 := proc(A::':-RandomVariable')
  Mean(A)
end proc:

Z := RandomVariable(Normal(mu, sigma)):
hastype(Z, ':-RandomVariable');
f1(Z)
                              true
Error, invalid input: f1 expects its 1st argument, A, to be of type 'RandomVariable', but received _R
# Another attempt
f2 := proc(A)
  if hastype(A, ':-RandomVariable') then Mean(A) end if;
end proc:

f2(Z)
                               mu

Why does f1 generate this error?

Type_RandomVariable.mw

Version used MAPLE 2015.2

I use dualaxisplot and want a logarithmic horizontal axis.
I can get the expected graphic using either of these two methods

restart:
with(plots):
dualaxisplot(
  plot(x, x=0..1, color=blue, axis[1]=[mode="log"]),
  plot(1-x, x=0..1, color=red, axis[1]=[mode="log"]),
  gridlines=true
):

dualaxisplot(
  semilogplot(x, x=0..1, color=blue),
  semilogplot(1-x, x=0..1, color=red),
  gridlines=true
):

This worksheet contains my true code
(pink lines correspond to < plot + axis[1]=[mode="log"] > and blue lines to < semilogplot >).
You will see that the vertical axis for the plot declared in second position is logarithmic, whatever the way the logarithmic x-axis is defined. 
DecisionProb.mw

I am unable to find out if I made a mistake (which is likely) or if it is a bug?
Could you please have a look at this code and give me an answer?
Thanks in advance

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