Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

Hi
I inadvertently discovered that it was possible to create variables in a kind of dynamic way.
I wonder if the way i did  is something which is documented somewhere?

TIA
 

restart:

vars   := [a, b__c, t[1]];

[a, b__c, t[1]]

(1)

k := 1:
for i in vars do
  ``||i := k;
  k := k+1:
end do:

vars;

[1, 2, 3]

(2)

 


 

Download Assignement.mw

Hi, 

I have a 2nd order linear ODE that I solved firstly in a formal way.
The plot of the solution contains a "hole" which, in fact, corresponds to the range where the formal solution is not real.
This seemed strange to me as I expected a real solution.
So I solved this ODE numerically and this gave me a real solution.
Could you please explain that to me ?

Thanks in advance

PS : These results are obtained with Standard Worksheet Interface, Maple 2015.2, Mac OS X, December 21 2015 Build ID 1097895

restart:

with(plots):

perturbation := .9*(diff(epsilon(t), t, t)) = (-28.67085587*piecewise(0.2000000000e-1*t < 0.8e-1, 0., 0.2000000000e-1*t < .12, -0.8e-1+0.2000000000e-1*t, 0.2000000000e-1*t < .14, .16-0.2000000000e-1*t, 0.2e-1)-0.7645561571e-1*t-1.548363347)*(diff(epsilon(t), t))-0.7596363e-1*piecewise(0.2000000000e-1*t < 0.8e-1, 0., 0.2000000000e-1*t < .12, -0.8e-1+0.2000000000e-1*t, 0.2000000000e-1*t < .14, .16-0.2000000000e-1*t, 0.2e-1)-0.202569683e-3*t+0.26997403e-1-10.10*epsilon(t)

perturbation := .9*(diff(`&epsilon;`(t), t, t)) = (-28.67085587*piecewise(0.2000000000e-1*t < 0.8e-1, 0., 0.2000000000e-1*t < .12, -0.8e-1+0.2000000000e-1*t, 0.2000000000e-1*t < .14, .16-0.2000000000e-1*t, 0.2e-1)-0.7645561571e-1*t-1.548363347)*(diff(`&epsilon;`(t), t))-0.7596363e-1*piecewise(0.2000000000e-1*t < 0.8e-1, 0., 0.2000000000e-1*t < .12, -0.8e-1+0.2000000000e-1*t, 0.2000000000e-1*t < .14, .16-0.2000000000e-1*t, 0.2e-1)-0.202569683e-3*t+0.26997403e-1-10.10*`&epsilon;`(t)

(1)

Digits:=10:
EPS := rhs( dsolve({evalf(perturbation), epsilon(0)=0, D(epsilon)(0)=0}, epsilon(t)) ):

# a lengthy expression that involves Kummer's special functions

plot(EPS, t=0..10, gridlines=true);


Digits:=20:
evalf(eval(EPS, t=5));
Digits:=10:

 

-0.26529838913395427314e88+0.10340147081332027605e89*I

(2)

numsol := dsolve({perturbation, epsilon(0)=0, D(epsilon)(0)=0}, numeric):

odeplot(numsol, [t, epsilon(t)], t=0..10, gridlines=true, color=red)

 

 


 

Download dsolve_vs_numeric_dsolve.mw

kindly send me OHAM source code in Maple for PDEs. I need it.

Hello

I have the following set of coefficients 

coef7 := [-1, 2, alpha[1, 2], alpha[2, 6], (17*RootOf(64*_Z^3+80*_Z^2+1104*_Z+561)+17)/(alpha[1, 2]*alpha[2, 6]), -17/alpha[2, 6], -33/(32*RootOf(64*_Z^3+80*_Z^2+1104*_Z+561)), -(163/32+RootOf(64*_Z^3+80*_Z^2+1104*_Z+561)^2+5*RootOf(64*_Z^3+80*_Z^2+1104*_Z+561)*(1/4))/(alpha[1, 2]*alpha[2, 6]), -RootOf(64*_Z^3+80*_Z^2+1104*_Z+561)-5/4, RootOf(64*_Z^3+80*_Z^2+1104*_Z+561)]

 

Considering that alpha[1,2] and alpha[2,6] are always real, how can I extract only the real solution from coef7?  

Many thanks.

 

Ed

Hello everyone!

Is it possible to find index of first non-negative or first positive Vector's (or Array's) element with the help of one Maple build-in comand (for example: use something from ArrayTools or ListTools)?

 

In maple, how to change strings style? Thanks!  

In Mathematica , we can choose Style to change strings style.

Style["A", Blue, Italic, 24]

 

source of the  problem : I make an User Interface.

the color of   "mass "  may consider be changed to  red . 

 

 

"with(LinearAlgebra):  T := proc(n::integer)  local t0, tn, i, t, t1;  if (n>0) then t0 := Matrix(1, 1, 1); tn := Matrix(1,1,0);  for i from 1 to n do local z := 2^i;  t := Matrix([[Add(t0, tn), x .~ t0], [t0, ZeroMatrix(z/(2))]]);  t1 := Matrix([[y .~ t0, ZeroMatrix(z/(2))], [ZeroMatrix(z/(2)), ZeroMatrix(z/(2))]]);  t0 := t; tn := t1;  end do;  else 'T'(n) end if; t0; end proc;"

Error, unterminated loop

"with(LinearAlgebra):  T := proc(n::integer)  local t0, tn, i, t, t1;  if (n>0) then t0 := Matrix(1, 1, 1); tn := Matrix(1,1,0);  for i from 1 to n do local z := 2^i;  t := Matrix([[Add(t0, tn), x .~ t0], [t0, ZeroMatrix(z/2)]]);  t1 := Matrix([[y .~ t0, ZeroMatrix(z/2)], [ZeroMatrix(z/2), ZeroMatrix(z/2)]]);  t0 := t; tn := t1;  end do;  else 'T'(n) end if; t0; end proc;"

 

T(2)

T(2)

(1)

``

 

Download G2.mw

Hello everyone. I was trying to code the recurrence relation given in the image below (without taking the mth power):

 

But, as I run the program, I am getting an "unterminated loop" error. Can someone please point out the mistake(s)?

Is there any way to write the expression into the ratio of simple determinants? i..e,

 

Hi,

 

How do we remove the module name functions that massively pollute the output after using with(Units[Standard]):

So that I can have something presentable like this :

Thanks!

Dear sir, I request to suggest the method for the following posted question.

 

How to find a rational function with give real roots 1,2,3  and oblique asymptote y=2-x?

Based on an answer to a question posted on MaplePrimes, which I am I able to locate through the search system, but that I know it is recent, I am trying to calculate the parameters of a function which minimizes the result of a numerical integral. The function, f1(x), is well defined. The function f2(x) has two parameters, K and r. The integral of the square of the difference between the two function cannot be solved symbolically. Hence my plan is to use the Minimization function in Optimization to determine the values of K and r. 

The attached worksheet includes two examples - a practice example for me to become familiar with using Optimization:-Minimization for an integral and the actual problem I am attempting to solve. Note: it was only through MaplePrimes that I learned the function must be defined through a procedure. Here is what I discovered in my experiments:

* the command to perform the numerical integration requires the small "i" verion of int, not Int, i.e evalf( int( function, limits )), not evalf(Int(..)).  This seems to be inconsistent with the documentation. Can someone explain why it is this way?

* The function must be defined locally. If I try to use a globally defined function, non-numeric results are encountered. Is there a way to integrate a global function?

* For the practice problem, it works as long as I abide by the conditions in the previous 2 bullet points.

* When I try to solve the real problem, which appears to be solvable by eyeballing some graphs (included), the kernal is lost.  This is repeatable for me. Do others experience this problem?

Thank you for your attention.

-------------------

Aside: It would be useful if the output of a search in MaplePrimes could be sorted by date.

 MaplePrimes_Minimization.mw

Hi, can someone explain me why CodeGeneration in C throws the error : Error, (in Print) improper op or subscript selector ? Interestingly, CodeGeneration in Python or Matlab works. Source code is attached. Thanks in advance!

membrane_energy.mw
 

 

Membrane Energy

 

restart; with(VectorCalculus); with(LinearAlgebra); with(CodeGeneration)

Define variables

 

Vectors for vertices of current position

v1 := Vector(3, symbol = v1_i) = Vector[column]([[v1_i[1]], [v1_i[2]], [v1_i[3]]], ["x", "y", "z"]) 

v2 := Vector(3, symbol = v2_i) = Vector[column]([[v2_i[1]], [v2_i[2]], [v2_i[3]]], ["x", "y", "z"])NULL

v3 := Vector(3, symbol = v3_i) = Vector[column]([[v3_i[1]], [v3_i[2]], [v3_i[3]]], ["x", "y", "z"])NULL

n := `&x`(v2-v1, v3-v1)

v4 := v1+n/norm(n, 2)^.5

Vector for vertices of next position

v1n := Vector(3, symbol = v1n_i) = Vector[column]([[v1n_i[1]], [v1n_i[2]], [v1n_i[3]]], ["x", "y", "z"])NULL

v2n := Vector(3, symbol = v2n_i) = Vector[column]([[v2n_i[1]], [v2n_i[2]], [v2n_i[3]]], ["x", "y", "z"])NULL

v3n := Vector(3, symbol = v3n_i) = Vector[column]([[v3n_i[1]], [v3n_i[2]], [v3n_i[3]]], ["x", "y", "z"])NULL

nn := `&x`(v2n-v1n, v3n-v1n)

v4n := v1n+nn/norm(nn, 2)^.5``

``

 

Define Transformation

 

V := LinearAlgebra:-Transpose(Matrix([v2-v1, v3-v1, v4-v1]))

Dimension(V) = 3, 3 

Vn := LinearAlgebra:-Transpose(Matrix([v2n-v1n, v3n-v1n, v4n-v1n]))

Dimension(Vn) = 3, 3NULL

Note we have Vn = T*V and if the current triangle is not degenerate, then T = Vn/V. As we can pre-compute 1/V we define a new matrix for it:

Vinv := Matrix(3, 3, symbol = Vinv_ij) =

Matrix(%id = 18446746713267339006)

(1.2.1)

T := MatrixMatrixMultiply(Vn, Vinv)

Dimension(T) = 3, 3``

``

``

Define Energy

 

E := Trace(MatrixMatrixMultiply(T, LinearAlgebra:-Transpose(T)))``

``

``

Gradient and Hessian

 

gradE := Gradient(E, [v1n[1], v1n[2], v1n[3], v2n[1], v2n[2], v2n[3], v3n[1], v3n[2], v3n[3]])

Dimension(gradE) = 9NULL

CodeGeneration[C](gradE, defaulttype = numeric, optimize = tryhard, functionprecision = double, precision = double, deducetypes = false, resultname = 'gradE')t1 = v2n_i[0] - v1n_i[0];
t2 = v2n_i[1] - v1n_i[1];
t3 = v2n_i[2] - v1n_i[2];
t4 = t1 * Vinv_ij[0][0] + t2 * Vinv_ij[1][0] + t3 * Vinv_ij[2][0];
t5 = t1 * Vinv_ij[0][1] + t2 * Vinv_ij[1][1] + t3 * Vinv_ij[2][1];
t6 = t1 * Vinv_ij[0][2] + t2 * Vinv_ij[1][2] + t3 * Vinv_ij[2][2];
t7 = v3n_i[0] - v1n_i[0];
t8 = v3n_i[1] - v1n_i[1];
t9 = v3n_i[2] - v1n_i[2];
t10 = t7 * Vinv_ij[0][0] + t8 * Vinv_ij[1][0] + t9 * Vinv_ij[2][0];
t11 = t7 * Vinv_ij[0][1] + t8 * Vinv_ij[1][1] + t9 * Vinv_ij[2][1];
t12 = t7 * Vinv_ij[0][2] + t8 * Vinv_ij[1][2] + t9 * Vinv_ij[2][2];
t13 = t2 * t9 - t3 * t8;
t14 = fabs(t13);
t15 = t1 * t9 - t3 * t7;
t16 = fabs(t15);
t17 = t1 * t8 - t2 * t7;
t18 = fabs(t17);
t19 = pow(t14, 0.2e1) + pow(t16, 0.2e1) + pow(t18, 0.2e1);
t20 = pow(t19, -0.5e1 / 0.4e1);
t19 = t19 * t20;
t21 = Vinv_ij[0][0] * t13;
t22 = Vinv_ij[1][0] * t15;
t23 = Vinv_ij[2][0] * t17;
t24 = (t23 + t21 - t22) * t19;
t25 = -v2n_i[2] + v3n_i[2];
t26 = fabs(t15) / t15;
t27 = -v2n_i[1] + v3n_i[1];
t28 = fabs(t17) / t17;
t21 = t23 + t21 - t22;
t22 = (t16 * t25 * t26 + t18 * t27 * t28) * t20;
t23 = 0.1e1 / 0.2e1;
t29 = Vinv_ij[0][1] * t13;
t30 = Vinv_ij[1][1] * t15;
t31 = Vinv_ij[2][1] * t17;
t32 = (t31 + t29 - t30) * t19;
t29 = t31 + t29 - t30;
t30 = Vinv_ij[0][2] * t13;
t15 = Vinv_ij[1][2] * t15;
t17 = Vinv_ij[2][2] * t17;
t31 = (t17 + t30 - t15) * t19;
t15 = t17 + t30 - t15;
t17 = t6 + t12;
t30 = t5 + t11;
t33 = t4 + t10;
t13 = fabs(t13) / t13;
t34 = -v2n_i[0] + v3n_i[0];
t35 = (t14 * t25 * t13 - t18 * t34 * t28) * t20;
t35 = t17 * Vinv_ij[1][2] - t24 * (t23 * t35 * t21 - t19 * (t25 * Vinv_ij[0][0] - t34 * Vinv_ij[2][0])) + t30 * Vinv_ij[1][1] - t31 * (t23 * t35 * t15 - t19 * (t25 * Vinv_ij[0][2] - t34 * Vinv_ij[2][2])) - t32 * (t23 * t35 * t29 - t19 * (t25 * Vinv_ij[0][1] - t34 * Vinv_ij[2][1])) + t33 * Vinv_ij[1][0];
t36 = (t14 * t27 * t13 + t16 * t34 * t26) * t20;
t34 = Vinv_ij[2][2] * t17 - t24 * (-t23 * t36 * t21 + t19 * (t27 * Vinv_ij[0][0] - t34 * Vinv_ij[1][0])) + t30 * Vinv_ij[2][1] - t31 * (-t23 * t36 * t15 + t19 * (t27 * Vinv_ij[0][2] - t34 * Vinv_ij[1][2])) - t32 * (-t23 * t36 * t29 + t19 * (t27 * Vinv_ij[0][1] - t34 * Vinv_ij[1][1])) + t33 * Vinv_ij[2][0];
t36 = (t16 * t9 * t26 + t18 * t8 * t28) * t20;
t36 = t24 * (-t23 * t36 * t21 - t19 * (-t8 * Vinv_ij[2][0] + t9 * Vinv_ij[1][0])) + t31 * (-t23 * t36 * t15 - t19 * (-t8 * Vinv_ij[2][2] + t9 * Vinv_ij[1][2])) + t32 * (-t23 * t36 * t29 - t19 * (-t8 * Vinv_ij[2][1] + t9 * Vinv_ij[1][1])) + t4 * Vinv_ij[0][0] + t5 * Vinv_ij[0][1] + t6 * Vinv_ij[0][2];
t37 = (t14 * t9 * t13 - t18 * t7 * t28) * t20;
t9 = t24 * (-t23 * t37 * t21 + t19 * (-t7 * Vinv_ij[2][0] + t9 * Vinv_ij[0][0])) + t31 * (-t15 * t23 * t37 + t19 * (-t7 * Vinv_ij[2][2] + t9 * Vinv_ij[0][2])) + t32 * (-t23 * t29 * t37 + t19 * (-t7 * Vinv_ij[2][1] + t9 * Vinv_ij[0][1])) + t4 * Vinv_ij[1][0] + t5 * Vinv_ij[1][1] + t6 * Vinv_ij[1][2];
t37 = (t14 * t8 * t13 + t16 * t7 * t26) * t20;
t4 = t24 * (t23 * t37 * t21 - t19 * (-t7 * Vinv_ij[1][0] + t8 * Vinv_ij[0][0])) + t31 * (t15 * t23 * t37 - t19 * (-t7 * Vinv_ij[1][2] + t8 * Vinv_ij[0][2])) + t32 * (t23 * t29 * t37 - t19 * (-t7 * Vinv_ij[1][1] + t8 * Vinv_ij[0][1])) + t4 * Vinv_ij[2][0] + t5 * Vinv_ij[2][1] + t6 * Vinv_ij[2][2];
t5 = (t16 * t3 * t26 + t18 * t2 * t28) * t20;
t5 = t10 * Vinv_ij[0][0] + t11 * Vinv_ij[0][1] + t12 * Vinv_ij[0][2] + t24 * (t21 * t23 * t5 + t19 * (-t2 * Vinv_ij[2][0] + t3 * Vinv_ij[1][0])) + t31 * (t15 * t23 * t5 + t19 * (-t2 * Vinv_ij[2][2] + t3 * Vinv_ij[1][2])) + t32 * (t23 * t29 * t5 + t19 * (-t2 * Vinv_ij[2][1] + t3 * Vinv_ij[1][1]));
t6 = (-t18 * t1 * t28 + t14 * t3 * t13) * t20;
t3 = t10 * Vinv_ij[1][0] + t11 * Vinv_ij[1][1] + t12 * Vinv_ij[1][2] + t24 * (t21 * t23 * t6 - t19 * (-t1 * Vinv_ij[2][0] + t3 * Vinv_ij[0][0])) + t31 * (t15 * t23 * t6 - t19 * (-t1 * Vinv_ij[2][2] + t3 * Vinv_ij[0][2])) + t32 * (t23 * t29 * t6 - t19 * (-t1 * Vinv_ij[2][1] + t3 * Vinv_ij[0][1]));
t6 = (t16 * t1 * t26 + t14 * t2 * t13) * t20;
t1 = t10 * Vinv_ij[2][0] + t11 * Vinv_ij[2][1] + t12 * Vinv_ij[2][2] + t24 * (-t21 * t23 * t6 + t19 * (-t1 * Vinv_ij[1][0] + t2 * Vinv_ij[0][0])) + t31 * (-t15 * t23 * t6 + t19 * (-t1 * Vinv_ij[1][2] + t2 * Vinv_ij[0][2])) + t32 * (-t23 * t29 * t6 + t19 * (-t1 * Vinv_ij[1][1] + t2 * Vinv_ij[0][1]));
t2 = 0.2e1;
gradE[0] = -t2 * (-t24 * (t23 * t22 * t21 + t19 * (t25 * Vinv_ij[1][0] - t27 * Vinv_ij[2][0])) + t33 * Vinv_ij[0][0] + t30 * Vinv_ij[0][1] + t17 * Vinv_ij[0][2] - t32 * (t23 * t22 * t29 + t19 * (t25 * Vinv_ij[1][1] - t27 * Vinv_ij[2][1])) - t31 * (t23 * t22 * t15 + t19 * (t25 * Vinv_ij[1][2] - t27 * Vinv_ij[2][2])));
gradE[1] = -t2 * t35;
gradE[2] = -t2 * t34;
gradE[3] = t2 * t36;
gradE[4] = t2 * t9;
gradE[5] = t2 * t4;
gradE[6] = t2 * t5;
gradE[7] = t2 * t3;
gradE[8] = t2 * t1;

``

``

``

``

``

Hessian

 

``

hessE := Hessian(E, [v1n[1], v1n[2], v1n[3], v2n[1], v2n[2], v2n[3], v3n[1], v3n[2], v3n[3]])

Dimension(hessE)

9, 9

(1.5.1)

 

CodeGeneration[C](hessE, optimize = tryhard, deducetypes = false, resultname = 'hessE')

Error, (in Print) improper op or subscript selector

 

``

````

``

``

``

``


 

Download membrane_energy.mw

 

 

 

Dear Experts,

Please how do I carry out the differentiation of 

y[1](t)*y[2](t)*(y[1](t)+y[2](t))^3

with respect to y[1] using maple? I know how to use maple if the derivative is with respect to t.
Thank you in anticipation

Dear all

I would like to solve a linear system A X=b whee A is a matrix n times n

If A is a tri-diagonal matrix, how can we write simple code to make A upper-triangular and then we solve the system using backward substitution

many thanks

 

Over the past weeks, we have spoken with many of our academic customers throughout the world, many of whom have decided to continue their academic years online. As you can imagine, this is a considerable challenge for instructors and students alike. Academia has quickly had to pivot to virtual classrooms, online testing and other collaborative technologies, while at the same time dealing with the stress and uncertainty that has resulted from this crisis.

We have been working with our customers to help them through this time in a variety of ways, but we know that there are still classes and students out there who are having trouble getting all the resources they need to complete their school year. So starting today, Maple Student Edition is being made free for every student, anywhere in the world, until the end of June. It is our hope that this action will remove a barrier for instructors to complete their Maple-led math instruction, and will help make things a bit more simple for everyone.

If you are a student, you can get your free copy of Maple here.

In addition, many of you have asked us about the best way to work on your engineering projects from home and/or teaching and learning remotely during this global crisis. We have put together resources for both that you can use as a starting point, and I invite you to contact us if you have any questions, or are dealing with challenges of your own. We are here to support you, and will be very flexible as we work together through these uncertain times.

I wish you all the best,

Laurent
President & CEO

First 571 572 573 574 575 576 577 Last Page 573 of 2224