Advanced Maple Topics
Maple topics discussed in this chapter are:
4.1 Saving and Including User Written ProgramsEach topic will be treated in a brief fashion with examples to illustrate the main points. More information may be found in the Maple Tutorials and Reference Manual.
4.2 Solving Ordinary Differential Equations
4.3 Converting Expressions to Functions
4.4 Use of Maple to Find Laplace Transforms
4.5 Using Maple to Transform ODEs
4.1 Saving and Including User Written Programs
If you want to keep some expressions that you have created in a session, you may do so by using the Save As button on the File menu. Then, when you want those expressions in another session use the File menu's Open option. File names must be specified in the appropriate menu slots when you use these operations.
Suppose you open a new Maple worksheet by selecting the New option under the File menu. Type the following:
Then use ``Save As ...'' under the File menu and type the file name as ex1 after clicking in the Selection box. You will find that you have created a file called ex1.mws that includes font information as well as the instructions in an unreadable form. This file may be reloaded into a Maple session by using the Open option in the File menu. After doing that, you may think that the two variables: f1 and f2 have been set, but this is not so. In spite of the fact that the session window shows:
If we move the cursor to the first line and hit four returns, we see that we have defined the variables and are back to the point where we were when we saved our session.
The file can also be saved as a text file by using the ``Export As'' option under the File menu. The Export option allows the user to select three different text files : Plain Text, Maple Text, and LaTeX. For the purposes of exporting text files to be used in later Maple sessions, try to use Maple Text. It opens the commands saved in the text file as Maple commands rather than plain text (as is the case with Plain Text).
This file may be reloaded in a new Maple session by selecting the Open option from the File menu. Under the Open Window box, the File Type must be changed from Maple Worksheet to Maple Text:
f1:=sin(z)By importing the text file as described above and executing those instructions to have f1 and f2 defined, you have created and executed a program. Programs are nothing more than sequences of instructions which are stored in a file. If we read them into a Maple session, the instructions may be selected and executed as stored. We need to understand how Maple handles several of the usual typical ``programming" procedures including:
f2:=z^2-1;
1) insertion of commentsComments should always be used to explain what a procedure does. In Maple, comments follow the pound sign: #.
2) looping operations
3) decisions or choices
4) specification of arguments
Maple provides both for and while loops just as in MATLAB. Sequences of statements included in such loops must be enclosed between do and Maple's end of do: od. For loops incorporate a counter variable with delimiters from, by, and to to set the range and step for the counter.
A simple example demonstrates generating a table of trigonometric values. We will first create the ``program'' in a Maple session. In order to associate arguments with the program, the proc heading must be used in the definition and the program must have an end command to terminate it. (See ? proc) The whole program could be typed in as a single line, but it is simpler to use lines to see the various parts. Type the following using Line Feed (Shift-Return) instead of Return.
It is not very pretty, but it works. We could also have stored the program in a file. If we had it stored in file trigl.
Then we could read the file in and execute it as before:
The if structure in Maple closes with fi. A simple version of a program to generate Fibonacci numbers was stored in file: fib. It was written to show the way if..then..else structures may be used:
It uses recursion to generate the integer that is the sum of the function at the two integers below the argument. The first two values of the function are defined to be 1. It uses if, then, else and fi coupled with a call of the same program to find the numbers. We can proceed by using the read command. This gives:
The while statement may be used to create loops if it is combined with do....od around a set of statements or it may be used with a for sequence. The if...else....fi may also include ``else if'' parts. The abbreviation for else if is elif.
4.2 Solving Ordinary Differential Equations
The command dsolve allows you to solve certain ordinary differential equations. The form is similar to the solve command:
The first argument must include one or more differential equations while the second argument specifies the variables to be determined. The first argument may also specify initial or boundary conditions. Here are a couple of examples:
There are also other ways to solve differential equations. For example:
4.3 Converting Expressions to Functions
In the second example problem on solving ordinary differential equations we found an expression that gave the solutions for the two unknowns: x1(t) and x2(t). If we need to have one of those solutions as a function to be used in further calculations, we should become acquainted with several new commands. The two that are most useful in this conversion task are op and unapply. First, the op command:
Let's see how we can use this to extract a part of the expression returned by dsolve:
Next the unapply command:
We can use unapply to convert x2e to a function:
4.4 Use of Maple to Find Laplace Transforms
There are many tables of Laplace Transform that might be used to transform equations (particularly differential equations) into forms which can be solved. However, it is generally quite tedious to look up the tables.
Maple has the ability to find both Laplace Transforms of functions and their inverses. We will demonstrate some of these and compare them with the entries in a table of Transforms. We will also give some of the limitations of the current version of Maple to find the both the transforms and their inverses. In order for more information on these functions, search the on-line help.
Forward transform:In order to use either command, the package inttrans has to be loaded.
Fs:=laplace(ft,t,s);Inverse transform:
ft:=invlaplace(Fs,s,t);
4.5 Using Maple to Transform ODEs
A second way of using Laplace Transforms to solve differential equations is shown in this section. The first way shown using the laplace option in dsolve is probably easier and should be followed in most cases. The direct use of transforms shown here gives more insight into the use of transforms however and is included for that reason.
Maple may be used to transform a differential equation, but some care must be taken to follow the conventions adopted for this procedure. We may define a differential equation with the diff function: