Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

In Maple 17, the following expression needs to be integrated with respect to q3, p3 and q. Here, mu is a real, positive scalar. 

a := 1/(sqrt(mu^2+(px-p3x-q3x)^2)*sqrt(mu^2+(-p3x+qx-q3x)^2)*sqrt(mu^2+q3x^2)*(sqrt(mu^2+(-p3x+qx-q3x)^2)+sqrt(mu^2+q3x^2)))

However, the integration will not work with the "int" command (e.g. wrt q3). The indefinite integration will work if the integral is evaluated using the steps: highlight expression -> right click -> Integrate -> wrt q3 command.

The output of the integral (using the above method) is very long, it's impossible to manipulate the answer (on my i5, 8GB machine running Maple 17) because it is very tough to copy such a long output. Also, there is no way to specify that mu is a positive scalar. 

Is there a better way to perform the integration, e.g. between 0 and lambda, -1 through 1, or -infinity to +infinity?  

 

I was asked if I would put together a list of top resources to help students who are using Maple for the first time.  An awful lot of students will be cracking Maple open in the next few weeks (the ones who are keeping up with their assignments, at least – for others, it sometimes takes little longer :-), so it seemed like a good idea.

So then I had to decide what to do. I know Top N lists are very popular (Ten Things that Will Shock You about Your Math Software!), and there are tons of Maple training resources available to fill such a list without any difficulties.  But personally, I don’t always like Top N lists. What are the chances that there are exactly N things you need to know, for nice values of N? And how often you are really interested in all N items? I just want to get straight to the points I care about.

I decided I’d try a matrix. So here you go: a mini “choose your own adventure” guide for getting to know Maple.  Pick the row that corresponds to what you want to do, and the column for how you want to do it.  All on a single, page, and ad-free!

And best of luck for the new school year.

 

 

I like words

I like videos

Just let me try it

Product Overview

Inside Maple, from the Help menu, select Take a Tour of Maple then click on the Ten Minute Tour button.

 

(Okay, even though I like words, too, you might also want to watch the video in the next column. The whole “picture is worth a thousand words” does have some truth to it, much as I don’t always like to admit it. J)

Watch Clickable Math

 

Keep in mind that if you prefer to use commands instead of these Clickable Math tools, you can do that too.  Personally, I mix and match.

You’ll figure it out.

Getting Started Info

Read the Maple Quick Start Tutorial Guide, as a PDF, or from the Help system. To access this guide from within Maple, start Maple, click on the Getting Started icon the left, then select the Quick Start Guide (first icon in the second row).

Watch the Maple Quick Start Tutorial Video.

The most important things to remember are

  1. Right click on your math expression to bring up a menu of things you can do, like plotting or integrating or solving your expression
  2. If you have just entered an exponent or the denominator of a fraction, use the right arrow key to get out of it.

How do I? Essentials

Look at the “How do I” section of the Maple Portal (Start Maple, click on the Getting Started icon, click on the Maple Portal icon; or search for “MaplePortal” in the help system).  Also look at the Maple Portal for Students, using the button from the Maple Portal.

Check out the dozens of videos in the Maple Training Video collection.

You can do a lot with the context menus and the various tools you’ll find on the Tools menu. But when in doubt, look at the list of “How do I” tasks from the Maple Portal described in the “words” column and pull out what you need from there.

What now?

The help system is your friend. Not only does it have help pages for every feature and every command, but it includes both the Maple User Manual and the Maple Programming Guide (also available as PDFs).

Check out the collection of videos on the Maplesoft YouTube channel.  (And the help system is your friend, too. We can’t make videos to cover every last thing, and if we did, you wouldn’t have time to watch them all!)

Maple comes with many examples and applications you can look at and modify.  You can browse through the Start page resources, or search for “examples,index” in the help system to see the full list.

 

And yes, the help system is your friend, too.  But don’t worry, no one is going to make you read the manual.

 

 

 

We have the following sequence of natural numbers
1, 2, 4, 7, 11, 16, 67, 83, 46, 73, 47, 85, 70, 20, 16, 76, 83, 55, 73, 56, 85, 79, 119, 934, 463, 389, 1009, 9028, 8237, 7357, 7567, 7688, 8899, 10021, 12035, 53056, 65071, 17093, 39109, 90232, 23249, 94273, 37291, 19316, 61435, 53461, 16481, 18508, 80629, 92657, 75679, 97708, 80831, 13861, 16885, 58916, 62041, 14083, 38099, 99142, 24259, 95303, 30421, 12466, 66485, 58531, 13651, 15698, 89719, 91867, 76889, 98938, 84061, 16121, 12235, 53296, 69311, 11473, 37489, 98552, 25669, 96733, 33851, 15916, 62035, 53111, 11221, 12298, 89309, 90487, 78499, 99578, 87691, 19771, 17885, 58966, 67081, 18173, 37279, 97372, 27479, 97573, 37681, 18776, 67885, 58981, 19091, 19198, 89299, 99407, 70609, 90718, 81821, 12931, 14035, 53156, 65251, 15373, 37469, 96592, 29689, 98813, 32011, 11146, 64235, 53371, 17461, 16598, 89689, 98827, 73019, 91168, 86251, 15401, 10585, 58636, 63821, 12973, 38059, 95222, 22399, 99463, 36641, 14806, 60985, 59051, 15241, 14398, 89489, 98647, 74839, 93998, 90091, 19162, 26345, 54517, 71701, 10874, 47959, 96133, 33329, 92494, 49591, 19757, 75955, 56122, 22331, 13489, 98599, 99758, 85969, 97129, 92351, 15502, 20725, 52877, 78001, 10264, 46379, 97543, 34759, 95924, 43141, 14317, 71525, 52702, 20911, 12089, 98209, 90478, 87599, 99769, 96991, 20162, 26296, 69457, 75692, 29854, 46090, 9263, 3829, 9484, 5051, 1708, 8275, 5933, 3601, 1270, 929, 1138, 8521, 1469, 9853, 3802, 2297, 8137, 7534, 4574, 4972, 3013, 3323, 3454, 4765, 5897, 8209, 9253, 3755, 5800, 313, 542, 475, 805, 740, 280, 316, 848, 1084, 5038, 8543, 3697, 8203, 3269, 9865, 5932, 2639, 9607, 7315, 5384, 5083, 4054, 4754, 4825, 5536, 6608, 8320, 493, 650, 313, 571, 434, 694, 757, 1019, 9364, 4903, 3359, 9799, 10246, 64469, 96715, 52039, 93296, 69511, 11869, 97085, 58354, 45661, 16931, 14239, 93520, 2819, 9463, 3931, 1676, 7045, 5692, 3251, 1810, 469, 1253, 3811, 1474, 5033, 3598, 9247, 7724, 4573, 4051, 1802, 2380, 1132, ... .
 What is the next term? Is it possible to find that with Maple? The Lagrange polynomial is not taken into account. I'd like to recall a great answer by Carl Love to a similar question.  However, the current situation seems to be different. The Predict command of Mma fails here.

Download New_ReportGeneration_with_ExcelData.mw

Dear Users,

I have received a congratulations from a Mapleprime user for my post (on Finite Element Analysis - Basics) posted two years earlier. I  did not touch that subject for two years for obvious reasons. Now that a motivation has come, I have decided to post my second application using embedded components. This I was working for the past two years and with the support from Maplesoft technical support team and Dr.RobertLopez. I thank them here for this workbook has come out well to my satisfaction and has given me confidence to post it public.

About the workbook

I have tried to improve the performance of a 2-Stroke gasoline engine to match that of a four stroke engine by using exhaust gas recirculation. Orifice concept is new and by changing the orifice diameter and varying the % of EGR, performance was monitored and data stored in Excel workbook. These data can be imported to Maple workbook by you as you want for each performance characteristic. The data are only my experimental and not authentic for any commercial use.

This Maple workbook generates curves from data for various experiments conducted by modifying the field variables namely Orifice diameter, % Exhaust gas Recirculation and Heat Exchanger Cooling. Hence optimum design selection is possible for best performance.

Thanks for commenting, congratulating or critisising!! All for my learning and improving my Maple understanding!! 

In this app you can use from the creation of curve, birth of the position vector and finally applied to the displacement and the distance traveled. All this application revolves around the creation of a path and the path of a particle over this generated by vectors. You will only have to insert the vector components and the times to evaluate. Designed for engineering students guided through Maple. In Spanish.

Displacement_and_distance_traveled_with_vectors.mw Updated

Displacement_and_distance_traveled_with_vectors_updated_2020.mw 

Video

https://www.youtube.com/watch?v=jOcKYZ5EEM0

Lenin Araujo C

Ambassador of Maple

Hi

I use some commands like the evalf[10]

But they don't work for the definite double integral in attached file.

It leads to "Error, (in type/algfun) too many levels of recursion"

Please help me to find the answer

Thank You Very Much

Double-Int.mw

 

Hi,

is there a way to control the way axes tickmark numbers are formated, especially number of decimal places? I have 3 consecutive plot comands with the same options for similar functions in the same x range (and similar y range) and the thickmarks on each plot have differently formated numbers on axes:

1)

2)

3)

 

in each case I'm calling:

plot(func..., opt2d, labels = [x, U...])

the opt2d are:

fntsz2 := 14;
opt2d := (x = 90 .. 160, size = [500, 200], font = ["Arial", fntsz2], labelfont = ["Arial", fntsz2], labeldirections = [horizontal, vertical]);

I'd like to get all the plots formatted like in the 3rd case: x axis: ticks starting at min (90), numbers rounded to integers; y axis: "0" before decimal point, 2 decimal places.

 

regards

Wojtek

Assume I had a 2D line

how to put and draw this line into a new geometric world defined by patch?

 Can anyone help me with this problem. I am trying to solve it and its given me an error message "Error, (in dsolve/numeric/bvp) cannot determine a suitable initial profile, please specify an approximate initial solution".


 

restart

with(ODETools):

with(student):

dsolve[interactive]()

with(plots)

with(plottools)

inf := 5

unprotect('gamma')

NULL

equ1 := diff(f(eta), `$`(eta, 3))-(3/4)*f(eta)*(diff(f(eta), `$`(eta, 2)))+(1/2)*(diff(f(eta), eta))^2-theta(eta)-N*gamma(eta) = 0:

equ2 := diff(theta(eta), `$`(eta, 2))-(3/4)*f(eta)*(diff(theta(eta), eta)) = 0:

equ3 := diff(gamma(eta), `$`(eta, 2))-(3/4)*L__e*P__r*f(eta)*(diff(gamma(eta), eta)) = 0:

Bcs := f(0) = 0, (D(f))(0) = 0, theta(0) = 1, (D(f))(inf) = 0, theta(inf) = 0, gamma(0) = 1, gamma(inf) = 0

f(0) = 0, (D(f))(0) = 0, theta(0) = 1, (D(f))(5) = 0, theta(5) = 0, gamma(0) = 1, gamma(5) = 0

(1)

Parameter := [P__r = .72, N = 1, L__e = 1]:

S1 := dsolve({Bcs, subs(Parameter, equ1), subs(Parameter, equ2), subs(Parameter, equ3)}, {f(eta), gamma(eta), theta(eta)}, type = numeric)

Error, (in dsolve/numeric/bvp) cannot determine a suitable initial profile, please specify an approximate initial solution

 

``


 

Download Numerical.mw

 Looking forward to your favorable response.

Kind regard

I have just installed jEdit. Have written 2 files.Started with "open in mode  maple". So text gets nicely coloured. Can save the files ok as .mpl. I have several questions
1) How do I make the code indent/format?

2)How should I test the code? Can jEdit show me errors? I am running jEdit and maple side by side. Save, Read, hit bug...

3)How do I format an imported .mpl from maple?

4)How do I get $include to work?

Testr1:=proc(a,b)
description "Jedit test";
local A,B;
A:=a;B:=b;
if is(A<B) then print ('smaller')
elif is(A>B) then print('bigger')
else print('cant_say')
end if;
return cos(A+B), sin(A-B),A,B;
end proc;
TestjEdit:=module()
option pagkage;
export Testr1;
$include "Testr1.mpl"
end module;
#imported file
Antisym := proc (V::{Matrix(3,3,shape = antisymmetric,algebraic), Vector(3)})
local M; description "converts vector to antisymmetric matrix and back"; if 
type(V,Vector) then M := Matrix(3,3,shape = antisymmetric); M[1,2] := -V[3]; M
[1,3] := V[2]; M[2,3] := -V[1] else M := Vector(3,[-V[2,3], V[1,3], -V[1,2]])
end if; M end proc;

restart

currentdir()

"C:\Users\Ronan\Documents\MAPLE\Rational_Trigonometry"

(1)

read "C:\\Users\\Ronan\\Documents\\jEdit\\Testr1.mpl"

proc (a, b) local A, B; description "Jedit test"; A := a; B := b; if is(A < B) then print('smaller') elif is(B < A) then print('bigger') else print('cant_say') end if; return cos(A+B), sin(A-B), A, B end proc

(2)

"print("'Testr1'")"

(3)

Testr1(2, 4)

cos(6), -sin(2), 2, 4

(4)

Testr1(x, 5)

cos(x+5), sin(-5+x), x, 5

(5)

Testr1(x, x+1)

cos(2*x+1), -sin(1), x, x+1

(6)

restart

read "C:\\Users\\Ronan\\Documents\\jEdit\\TestjEdit.mpl"

$include "Testr1.mpl";
^

Error, while reading ``C:\Users\Ronan\Documents\jEdit\TestjEdit.mpl``

 

TestjEdit:-Testr1(2, 1)

Error, `TestjEdit` does not evaluate to a module

 

``


 

Download Jedit_testing.mw
 

restart

currentdir()

"C:\Users\Ronan\Documents\MAPLE\Rational_Trigonometry"

(1)

read "C:\\Users\\Ronan\\Documents\\jEdit\\Testr1.mpl"

proc (a, b) local A, B; description "Jedit test"; A := a; B := b; if is(A < B) then print('smaller') elif is(B < A) then print('bigger') else print('cant_say') end if; return cos(A+B), sin(A-B), A, B end proc

(2)

"print("'Testr1'")"

(3)

Testr1(2, 4)

cos(6), -sin(2), 2, 4

(4)

Testr1(x, 5)

cos(x+5), sin(-5+x), x, 5

(5)

Testr1(x, x+1)

cos(2*x+1), -sin(1), x, x+1

(6)

restart

read "C:\\Users\\Ronan\\Documents\\jEdit\\TestjEdit.mpl"

$include "Testr1.mpl";
^

Error, while reading ``C:\Users\Ronan\Documents\jEdit\TestjEdit.mpl``

 

TestjEdit:-Testr1(2, 1)

Error, `TestjEdit` does not evaluate to a module

 

``


 

Download Jedit_testing.mw

 

I wonder what the built-in algorithm is used in "fsolve". From some references, it seems to be Newton iteration. 
But fsolve succeeds to quickly find a root of multiplicity more than 1, which can't be achieved by Newton iteration. So I wonder whether there are other techniques involved? Thank you!

The expression is:

sqrt(Dp)*(-Dp*sqrt(s+thetac)*alpha1*pinf*s^2-2*Dp*sqrt(s+thetac)*alpha1*pinf*s*thetac-Dp*sqrt(s+thetac)*alpha1*pinf*thetac^2+A2*Dp*sqrt(s+thetac)*alpha1*s+A2*Dp*sqrt(s+thetac)*alpha1*thetac+Dc*sqrt(s+thetac)*alpha1*pinf*s^2+Dc*sqrt(s+thetac)*alpha1*pinf*s*thetac+A1*Dc*alpha1*s^2+A1*Dc*alpha1*s*thetac+A1*sqrt(Dc)*sqrt(s+thetac)*s^2+A1*sqrt(Dc)*sqrt(s+thetac)*s*thetac-A2*Dc*sqrt(s+thetac)*alpha1*s)*exp((-lh+x)*sqrt(s)/sqrt(Dp))/((s+thetac)^(3/2)*s*(Dc*s-Dp*s-Dp*thetac)*(-sqrt(Dp)*alpha1+sqrt(s)))

Is there a way to solve these equations x+y = 373320 and z = (x+y) / 0.44 - y -  y* (1 - 0.99) for x,y,z in Maple or excel?

Even if we set y = 37320 - x 

and plug that in we get z= 37320/0.44 - (37320-x) - (37320 - x) * (1-0.99) there are still two unknown z and x

Maybe some optimization?  Thanx for any input

Here in this video you can observe the correct insertion of vectors; Making use of the keyboard, ascii code and tool palette of our Maple program. As our worksheet is very large, I made the explanation in two parts; I recommend that you observe this first part of performing any execution on your Maple worksheet. You can contrast your results with the apps also made in this software. In Spanish.

Shortcut_in_Vectors_for_Engineering.mw

Movie # 01

https://www.youtube.com/watch?v=EJtAli54q_A

Movie # 02

https://www.youtube.com/watch?v=m-JUmhkbWI8

Lenin Araujo Castillo

Ambassador of Maple

Dear all, 

I am using a custom wrapper to access the subroutines defined in a fortran DLL. The fortran code is pretty basic: it takes three arguments, a, b, mult. Being a subroutine. it returns the result in 'mult'.

Currently, I can get the result from fortran DLL in my wrapper code. I am not able to get it back in Maple. 

My fortran code is as under: 

      subroutine multiply(a1,b1, mult1) bind (C, name="multiply")

        use iso_c_binding
        implicit none

        real (c_double), intent(in), VALUE :: a1
        real (c_double), intent(in), VALUE :: b1
        real (c_double), intent(out) :: mult1

        mult1 = a1*b1

        return
      end subroutine multiply

I tried using this subroutine from a regular C file and it works, so this code works the way it should. 

Now the custom wrapper that I use (obtained by editing the auto-generated wrapper)

/* MWRAP_multiply Wrapper
   Generated automatically by Maple 2015.0.
   Do not edit this file. */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mplshlib.h>

#include <maplec.h>

typedef void *MaplePointer;
static MKernelVector mapleKernelVec;
static ALGEB *args;

/* main - MWRAP_multiply */
//ALGEB M_DECL MWRAP_multiply( MKernelVector kv,
//	void (M_DECL *fn) ( FLOAT64 a1, FLOAT64 a2, FLOAT64 a3 ),
//	ALGEB fn_args )

ALGEB mmultiply(MKernelVector kv, ALGEB fn_args)

{
    FLOAT64 a1;
    FLOAT64 a2;
    FLOAT64 a3;

    int i;
    mapleKernelVec = kv;
    args = (ALGEB*) fn_args;

    if( MapleNumArgs(mapleKernelVec,(ALGEB)args) != 3 )
        MapleRaiseError(mapleKernelVec,"Incorrect number of arguments");

     /* float[8] */
    a1 = MapleToFloat64(mapleKernelVec,args[1]);

    /* float[8] */
    a2 = MapleToFloat64(mapleKernelVec,args[2]);

    /* float[8] */
    a3 = MapleToFloat64(mapleKernelVec,args[3]);

    //(*fn)(a1, a2, a3);
    multiply(a1, a2, &a3);

    MaplePrintf(kv, "Output from multiply %f", a3);

    return( ToMapleNULL(mapleKernelVec) );
}

Since the fortran subroutine calls are call by reference, we need to pass the address of a3, (&a3). Then I compile this to create the DLL using: 

gcc -shared -fPIC -o libmmultiply.so mult.f90 mwrap_multiply.c -I /opt/maple2015/extern/include/ -L /opt/maple2015/bin.X86_64_LINUX/ -lmaplec -lgfortran

And then copying the resulting DLL (libmmultiply.so) to the Maple/bin folder. 

Then in Maple : 

mult := define_external("mmultiply",MAPLE,LIB="libmmultiply.so");

mult1 := 0.01;

mult(2., 3., mult1);
### Printed in Maple: Output from multiply 6.000000

mult1;
### Still 0.01 (we want this to be 6.0)

So, it can be seen that the fortran subroutine is successfully executed, so we get 6.0 as the output. However, this does'nt get assigned to 'mult1. The reason for this, I feel, is that the reference to the original variable 'mult1' in Maple is lost in the wrapper, and so the resulting value doesn't update 'mult1'. 

How can I get the resulting value back in Maple ? I want to get this in 'mult1', as most fortran legacy codes use the subroutine method of returning results by updating the arguments. 

Thanks 

Chintan Pathak 

First 952 953 954 955 956 957 958 Last Page 954 of 2249