Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

I am working on something where I need to use a stack. In the Maple documentation I noticed there are two different stack implementations. There is "stack" and "SimpleStack". I am curious if anyone has any experience using either of these and if there is any advantage to one over the other. Any suggestions or tips are appreciated.

 

Thanks,

Steven

This is a post that I wrote for the Altair Innovation Intelligence blog.

I have a grudging respect for Victorian engineers. Isambard Kingdom Brunel, for example, designed bridges, steam ships and railway stations with nothing but intellectual flair, hand-calculations and painstakingly crafted schematics. His notebooks are digitally preserved, and make for fascinating reading for anyone with an interest in the history of engineering.

His notebooks have several characteristics.

  • Equations are written in natural math notation
  • Text and diagrams are freely mixed with calculations
  • Calculation flow is clear and well-structured

Hand calculations mix equations, text and diagrams.

 

Engineers still use paper for quick calculations and analyses, but how would Brunel have calculated the shape of the Clifton Suspension Bridge or the dimensions of its chain links if he worked today?

If computational support is needed, engineers often choose spreadsheets. They’re ubiquitous, and the barrier to entry is low. It’s just too easy to fire-up a spreadsheet and do a few simple design calculations.

 Spreadsheets are difficult to debug, validate and extend.

 

Spreadsheets are great at manipulating tabular data. I use them for tracking expenses and budgeting.

However, the very design of spreadsheets encourages the propagation of errors in equation-oriented engineering calculations

  • Results are difficult to validate because equations are hidden and written in programming notation
  • You’re often jumping about from one cell to another in a different part of the worksheet, with no clear visual roadmap to signpost the flow of a calculation

For these limitations alone, I doubt if Brunel would have used a spreadsheet.

Technology has now evolved to the point where an engineer can reproduce the design metaphor of Brunel’s paper notebooks in software – a freeform mix of calculations, text, drawings and equations in an electronic notebook. A number of these tools are available (including Maple, available via the APA website).

 Modern calculation tools reproduce the design metaphor of hand calculations.

 

Additionally, these modern software tools can do math that is improbably difficult to do by hand (for example, FFTs, matrix computation and optimization) and connect to CAD packages.

For example, Brunel could have designed the chain links on the Clifton Suspension Bridge, and updated the dimensions of a CAD diagram, while still maintaining the readability of hand calculations, all from the same electronic notebook.

That seems like a smarter choice.

Would I go back to the physical notebooks that Brunel diligently filled with hand calculations? Given the scrawl that I call my handwriting, probably not.

Hello everybody

In the attached file, as you can see, 'u' is function of 'thet1(t)' explicitly, But when I want to differentiate from 'u' w.r.t 'thet1(t)', maple returns zero as the answer. How is it possible?

Thanks in advance

d.mw

I have an ODE with L(x,y), which includes partial derivatives of L(x,y) and coefficients y,_y1 and _y1^2. I want to split this equation into seperate equations of these coefficients. So I can solve for the unknown variable L(x,y).

 

ODE:=diff(L(x,y),x,x)+2*_y1(x)*diff(L(x,y),x,y)+_y1(x)^2*diff(L(x,y),y,y)+y(x)/x*diff(L(x,y),x)+(y(x)*_y1(x)/x+_y1(x))*diff(L(x,y),y)-y(x)/x^2*L(x,y)=0;

Could someone help me? 

 

I am currently trying to use the coeffs command but not really getting anywhere.

 

Thank you.

I a working with circuits, and was wondering whether or not it might be possible to shorten the proces of calculating parallel resistors. My idea is that using some symbol, such as || would find the equivalent resistor.

My idea is based on the fact that CrossProduct can also be done using &x command. Like so.

CrossProduct(a,b) = a &x b

 

So for resistors it would look something like:

Parallel(a,b) = a || b

 

For those interested the function for parallel resistors would be:

Parallel := (a,b) -> 1/(1/a+1/b);

the binomial coefficient  n k  can be defined recursively as follows for all nonnegative integers n, k:

(n)  = {0,      k>0

(k)  = {1       k=0, k=n

         {(n-1)+(n-1), otherwise.

          (k-1)   (k)

I need to complete a deinition of binom so that m so that binom(n,k) returns  n k  for all n greater than 0, and k greater than or equal to 0 using the definition of the binomial above..Any help appreciated..

binom:=
proc(n::TYPE1,k::TYPE2)
description "Compute a binomial coefficient";
option remember;
---MORE STUFF HERE---
end proc; # binom

 

I can calculate the quotient and remainder (r1) of a polinom (p1) divided by another (p2).

Unfortunately, I can't figure out how to divide r1 with p2, so that I get negative powers as well.

For example:

p1 = x^2+3

p2 = x+2

(x^2+3):(x+2) = x, and the remainder is: (-2x+3)

-----------

(-2x+3):(x+2) = -2, and the remainder is: (-1)

-----------

(-1):(x+2) = -x^-1, and the remainder is: (2x^-1)

-----------

(2x^-1):(x+2) = 2x^-2

...

As a result I get:

p1/p2 = x + -2 - x^-1 + 2x^-2 and so on...

How can I achieve this?

 

How does one explain this? 

restart;

A := Matrix( 3, 3, [ 1, 1, 1, 1, 0, 0, 1, -1, 1 ] );
LinearAlgebra[ConditionNumber]( A );
linalg[cond]( A );

A := Matrix(3, 3, {(1, 1) = 1, (1, 2) = 1, (1, 3) = 1, (2, 1) = 1, (2, 2) = 0, (2, 3) = 0, (3, 1) = 1, (3, 2) = -1, (3, 3) = 1})

 

6

 

6

 

B := evalf( A );
LinearAlgebra[ConditionNumber]( B );
linalg[cond]( B );

B := Matrix(3, 3, {(1, 1) = 1., (1, 2) = 1., (1, 3) = 1., (2, 1) = 1., (2, 2) = 0., (2, 3) = 0., (3, 1) = 1., (3, 2) = -1., (3, 3) = 1.})

 

3.000000000

 

6.000000000

 


Is this not a valid way for creating a floating-point matrix?
Otherwise, how do I explain the wrong result here?

-- Regards,

Franky

 

I am having trouble removing assumptions that are stored within expresssions.

Example code:

assume(l1>0): # this assumptions later helps to find a solution for a geometric problem with two four-bar-linkages
a := sqrt(l1);
save a, "test.m";
restart;
read "test.m"
a; # the assumptions are stored within the saved data
l1:='l1'; # try to remove the assumption
a; # assumption in a still existing
subs({l1=2}, a); # nothing happens: I can not access l1 any more
subs({l1~=2}, a); # This does not work either, nothing changes in a

So my question is: How do I remove the assumption within a stored expression?

My main problem lies in the handling of the expression with assumptions. At some point, I want to generate Matlab code, and the codegen-command gives me:

Warning, the following variable name replacements were made: l1~ -> cg

 

Hi all

I have  a simple question in export as eps format in Maple. i want the converted eps file with no box, but when i use export as eps by right click on plotted figure in Maple and then select " Export As--> Encapsulated PostScript(EPS)...", the below mentioned box(as in sample attached picture) will appear. How can I remove it? The Sample picture is attached. 

will be grateful of any guidance.

Thanks in advance

Mahmood   Dadkhah

Ph.D Candidate

Applied Mathematics Department

I'm trying to find lypunov exponent for this  system of ODEs. I know I need to take the Jacobian but not sure if it's possible the way it's currently defined. If anyone could provide insight it would be much appreciated.

Eqns:= diff(omega(t),t)=-(G*MSat*beta^(2)*(xH(t)*sin(theta(t))-yH(t)* cos(theta(t)))*(xH(t)*cos(theta(t))+yH(t)*sin(theta(t))))/((xH(t)^(2)+yH(t)^(2))^(2.5)),diff(theta(t),t)=omega(t), diff(xH(t),t)=vxH(t),diff(vxH(t),t)=-(G*M*xH(t))/((xH(t)^(2)+yH(t)^(2))^(1.5)),diff(yH(t),t)=vyH(t),diff(vyH(t),t)=-(G*M*yH(t))/((xH(t)^(2)+yH(t)^(2))^(1.5)): ;

ICs := omega(0) = omega0, theta(0) = theta0, xH(0) = a*(1+e), yH(0) = 0, vxH(0) = 0, vyH(0) = sqrt(G*M*(1-e)/(a*(1+e)));

I want the exponent for omega, I  procedure that takes some initial conditions, changing just w0, and computes the long term value of omega. This plots a sort of bifurcation diagram. I'd like an estimate of the exponent to compare what I see. 

thanks for the help

ft

Hello,

 

I want to compute powers of the Laplace-beltrami operator in some surface (e.g. cylinder):

 

https://en.wikipedia.org/wiki/Laplace_operator#Coordinate_expressions

 

and evaluate it for a given scalar function on the surface (e.g. a function on the cylinder).  I'm wondering if I only have to write the laplace-beltrami operator and then compute a simple power of it, or if I have to take care and compute the powers of the Laplace-beltrami operator first and then evaluate at the function on the cylinder. If the second option is the correct one (I think so), how can I compute that with maple? There is some trick way to compute powers of differential operators?

 

Thanks,

Fernando

Variable exists but is not shown when using save/read with extension .m

My example maple code is

 

a:=b^2:

save a, "test1.m"

restart:

read "test1.m"

a;

 

after the read command, I can access the variable, but it is not shown under "Variables".

This lead to some confusion when debugging the worksheet. Can I change this somehow?

Using the input type file format is not a solution, since then reading takes forever for complicated expressions.

Further, in the read command documentation it says "This functionality is not intended for end users" for saving the file as .m. What does that mean?

I am a Mathematica user trying to make the switch to Maple, so first of all I apologise if I am making a stupid mistake here. The complete script is attached below.

I have the following line in my script:

    b := Trace(map(diff, HermitianTranspose(W), coords[1]) . map(diff, W, coords[1]))

W is a matrix defined earlier in the script. I can provide the context if it would help but I'm not sure if it's relevant to the issue I'm having. The problem is that

    simplify(b) assuming real, r>0

gives a vastly different result to

    simplify(Trace(map(diff, HermitianTranspose(W), coords[1]) . map(diff, W, coords[1]))) assuming real, r>0

How can this be? What can I do to make Maple simplify the expression correctly?

conifold_metric.mw

Hello, i am doing some schmidt-analysis on a stirling engine, but my question is rather simple. I have the measured presure P at a given time T as a 229x2 matrix, i also have a function, V__total(T), for the total volume of the engine at a given time T. 

I then go on to create a pointplot PV, which is rougly the shape of a potato. I now want to find the area enclosed by this point plot, is there any way? 

I do something like:

> DATA:=ImportMatrix(filepath,skiplines=1); %import data from .txt file, skip header line. 

>P:=DeleteColumn(DATA,1); %Isolate presure column

>T:=DeleteColumn(DATA,2); %Isolate time coliumn

>V:=V__total~(T); %Generate volume vector as a function of time T

>pointplot(<P|V>,connect=true);

Is there any wat to finde the area enclosed by the curve/ Int(P,V)

First 1192 1193 1194 1195 1196 1197 1198 Last Page 1194 of 2248