rlopez

2518 Reputation

12 Badges

15 years, 124 days

Dr. Robert J. Lopez, Emeritus Professor of Mathematics at the Rose-Hulman Institute of Technology in Terre Haute, Indiana, USA, is an award winning educator in mathematics and is the author of several books including Advanced Engineering Mathematics (Addison-Wesley 2001). For over two decades, Dr. Lopez has also been a visionary figure in the introduction of Maplesoft technology into undergraduate education. Dr. Lopez earned his Ph.D. in mathematics from Purdue University, his MS from the University of Missouri - Rolla, and his BA from Marist College. He has held academic appointments at Rose-Hulman (1985-2003), Memorial University of Newfoundland (1973-1985), and the University of Nebraska - Lincoln (1970-1973). His publication and research history includes manuscripts and papers in a variety of pure and applied mathematics topics. He has received numerous awards for outstanding scholarship and teaching.

MaplePrimes Activity


These are answers submitted by rlopez

Try either of the following Tutors:

TangentSecantTutor (in the Student:-Calculus1 package)

FunctionSlopeTutor (in the Student:-Precalculus package)

To get help on either of these, execute ?TangentSecantTutor or ?FunctionSlopeTutor. The help pages will show the correct syntax for implementing these syntax-free tools.

Assign the differential equation a name such as de.

Apply the dsolve command with the option numeric.

Assign this a name such as Q.

Apply the odeplot to Q.

de:=diff(y(t),t)=y(t);
Q:=dsolve({de,y(0)=1},y(t),numeric):
plots:-odeplot(Q,t=0..2)

With the numeric option, the dsolve command creates a procedure that will calculate the numeric solution of the initial value problem. The odeplot command applies all the necessary coding to extract that numeric solution and graph it. The odeplot command lives in the plots package and can be called as shown above. If the plots package is brought into Maple's active memory via the command "with(plots):", then the call to odeplot does not need the prefix plots:-

Finally, don't hesitate to consult the help pages by executing ?dsolve,numeric or ?odeplot. At the bottom of each help page there are examples of how to use the command. Additionally, you might consult the Student Portal that contains some 150 questions (with answers) of the form "How do I...?" An easy way to get to the Student Portal is to execute the command ?StudentPortal

What you want to look up are the two commands listed in the title. Define the curve with the PositionVector command, and use the PlotPositionVector command to graph the curve and a variety of vector fields along the curve.

This pair of commands was especially created to serve exactly the purpose you express.

If you need help setting this up, let us know.

The DEtools package is loaded initially, but before the DEplot command is issued, there's a restart. That nukes both the solution assigned to sol, and the DEtools package.

The VectorField command in the Student VectorCalculus package both defines a vector field and graphs its arrows. Try

Student:-VectorCalculus:-VectorField(<-x,y,cos(z)>,output=plot)

From the Application Centre,

https://www.maplesoft.com/applications/view.aspx?SID=3606

This is a link to a package written by Prof. Wilhelm Werner. Not only does it provide commands to produce Fourier series, it has commands to draw relevant graphs of the periodic extensions with graphs of partial sums superimposed.

Of all the user-written packages that have appeared over the years, I believe this one is the best.

I wrote about this in a Reporter article maybe 10 years ago, but the worksheet capturing that article seems to need some revision because of changes to Maple over the years.

As has already been pointed out, w=f(x,y,z) can only be graphed in 4 dimensions. However, for each value c of w, the equation f=c defines a surface implicitly. Such surfaces are level sets (I like to call them level surfaces). If you Explore on the values of c, you get an animated collection of level surfaces f=c.

For example, take f as the function x+y+z. Then, after installing the plots package,

Explore(implicitplot3d(x+y+z=c,x=-1..1,y=-1..1,z=-1..1),c=-1..1.0)

creates an animation of the level surfaces f=c. This approach is a modification of Kitonum's. If you try this, you should include the view option in the implicitplot3d command so that you see the level surfaces move, and not the bounding frame. Also, be sure to make the range on c be floats, otherwise c will only take on integer values (by default).

The Student LinearAlgebra package has the ApplyLinearTransformPlot command that does what I believe is wanted. To test this, I implemented the following.

q:=plottools:-polygon([[0,0],[0,1],[1,0]],color=green):
A:=Matrix(2,2,[1,-2,3,5]/3.5);
Student:-LinearAlgebra:-ApplyLinearTransformPlot(A,q,iterations=10,output=animation,style=line,view=[-3..2,-2..3])

 

The Student MultivariateCalculus package has commands for this. Define the lines as "line objects" then query with commands such as AreSkew, AreParallel. Examples are in the recorded webinars (Maple's YouTube channel) on Clickable Calculus-Multivariate Calculus, and the one on Lines&Planes.

In addition to the solution from first principles provided by Carl Love, there are three other tools that might be of use to anyone looking to draw a phase portrait in Maple.

1) Tools/Tutors/Differential Equations/DE Plots

2) Tools/Tasks/Browse/Differential Equations/ODEs/Phase Portrait - Autonomous Systems

3) The phaseportrait command in the DEtools package

The first is a Tutor; the second, a Task Template; and the third, a command.

Acer has provided the 1D math input for what amounts to Atomic Variables.

How does the naive user learn all the coding for such names?

I refuse to learn the abstruse lingo that it takes to code these names in 1D math, so here's how I do it.

In a Document, using 2D math mode, create the name as it should appear. Select it all. Use the Format menu and select the option Convert To/Atomic Variable (note the keyboard shortcut Control+Shift+A). Press the enter key. The echo will have an equation label. Execute the command lprint(*), where * is the equation label (referenced through the Equation Label dialog, Control+L).

The echo of the lprint command will be the 1D code for this Atomic Variable. Copy and paste it to wherever it's needed.

The prime as the differentiation operator d/dx only works in 2D math.

The control over this behavior is via commands in the Typesetting package. There is a Typesetting Assistant (View Menu) that implements some of these behaviors.

Working in 2D math, fractions can be shilled upon input, but the Maple pretty-printer does not shill fractions on output. If I'm wrong about output behavior, I, too, would like to know how to make it happen.

The simplest way to graph vectors is to use the appropriate commands in the VectorCalculus package. I prefer the Student VectorCalculus package because it is more forgiving with respect to the need for defining coordinate systems and coordinate-variable names.

The commands to use are PlotVector and RootedVector. The PlotVector command will graph various kinds of vectors, including ones defined simply with angle brackets: <1,2,3>. The RootedVector command will attach a starting point to the definition of the vector so that you don't have to make the adjustments needed when using either of the "arrow" commands in Maple, one in the plottools package, and one in the plots package.

In addition to these two commands, I recommend the PositionVector and PlotPositionVector commands. The PositionVector command is for defining a curve or surface as a position vector. The PlotPositionVector command then draws the curve or surface, and admits the addition of arrows from a variety of vector fields defined along the curve or surface. These two commands are an extremely powerful and useful pair of visualization tools.

I have just completed an extensive project on surface curvature in which I installed the Student MultivariateCalculus package to get access to a CrossProduct and DotProduct command. I also used the alias command to define a shortcut to the commands I wanted in VectorCalculus. This way, I avoided the conflict between the simple dot and crossproduct operations in the MultivariateCalculus package, and the more entangled versions in VectorCalculus. So, I'd make calculations along the following lines.

with(Student:-MultivariateCalculus):
alias(VC=Student:-VectorCalculus):

A:=<1,2,3>:
B:=VC:-RootedVector(root=[1,2,3],<-2,3,1>):

VC:-PlotVector([A,B],color=[black,red],width=.1)

Took the function y=sqrt(1+x^2) (suggested by hyperbola, which has an asymptote), applied the asympt command to get its expansion about the point at infinity, and took the limit of the ratio of y to the first term in the asymptotic expansion, and got 1.

y:=sqrt(1+x^2);
asympt(y,x,2) # the "2" determines the order of the expansion. First term is x

limit(y/x,x=infinity)=1

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