rlopez

2418 Reputation

11 Badges

14 years, 105 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

If the input form of the matrix is generated by the Matrix palette, then placing the cursor at the end of the row or column after which the insertion is to be made, and pressing Control+Shift+R (or C) will insert an additional row or column template into the existing input form of the matrix. This is the same device that works on the piecewise template in the Expression palette.

Student:-MultivariateCalculus:-CrossSection( .8707945038*exp(-50.00000000*(m-.842e-1)^2+2.745342070*(m-.842e-1)*(a-2.3722)-.1046792095*(a-2.3722)^2), m = -.2, a = -4 .. 4, m = -4 .. 4, output = plot, planes = 1, axes = boxed, scaling = unconstrained,caption="");

Actually, if you use the Cross Section tutor from the Student MultivariateCalculus package, you will see this command at the bottom of the tutor. You get the desired graph in the tutor, and can copy/paste the command from the tutor to the worksheet and modify the command to suit.

My first reaction was to use the intersectplot command from the plots package, but the arguments for this command are either two expressions or two implicit representations. PP is an expression, but m=-0.2 is implicit. The mix of the two forms causes problems. Hence, the switch to the CrossSection command. The curve you want to see on the PP surface is a "plane section" in the language of multivariate calculus.

Perhaps Maple's embedded components will let you construct the "interface" mentioned. Embedded components can be accessed through the Components palette. Each such component has a help page describing its use.

The textplot command in the plots package is designed to code the writing of text or symbols on a Maple graph. It survives re-execution, but is tedious to implement.

An alternative is the set of drawing tools that can be accessed from the toolbar for plots. This tool makes it far easier to annotate a graph. The downside is that the annotations are not permanent. I usually get around this by then exporting the graph to some appropriate format (right click on the graph and select "Export"). The exported graph can then be re-imported into Maple as an image, and a re-execution of the worksheet will not damage the picture. But the graph is no longer interactive.

Others have addressed the issue of coloring curves.

If this question arises from the task of visualizing a region of integration in 3D, perhaps the task template at

Tools/Tasks/Browse: Calculus-Multivariate/Integration/Visualizing Regions of Integration/Cartesian 3-D

might be of some help. The code for drawing the graph is visible by right-clicking on the Plot button and selecting "Click Edit Action."

The idea for coding this and related task templates stems from the work of Tim Murdoch who coded the package calcplot while at Washington and Lee University in the early '90s. Tim left academe and I have never been able to track him down since. His insight into graphics coding lives on in my rendering as found in these task templates.

If you color your variables, then convert them to atomic variables, they will retain their color upon output. This works in Maple 2017, but I believe that in some earlier versions of Maple certain properties of atomic variables were not preserved. If color is one such property, then there will exist a version of Maple below which the device advocated here will not work.

Wouldn't rhs(Soln[1]) work? And to get it as a float, evalf(rhs(...

Right-click on a sequence of two lists and use the Join option.

The code executed by this step is map(op,[sequence of two lists]);

In other words, the op command extracts the elements of a list, and by mapping it onto the sequence of two lists, the elements of both lists are extracted, forming a new sequence, which is then made into a new list by the square brackets. I can't vouch for the efficiency of this approach, but it was coded by one of the best programmers at Maplesoft.

Me too.

Maple allows the cursor to "misbehave" in a number of situations, at the bottom of a screen, and within a worksheet or document, expecially when deleting large blocks of material or closing sections, etc.

My expedient is to add extra blank document blocks to the bottom of a Document to raise the last line of text to the middle of the window, very necessary when using Maple for a presentation.

Here is a trick I have had to use many times. To have a plotting command place a label, or a legend that contains symbols that will evaluate, convert to Atomic Variables within the plotting command. This also works with textplot where Maple parses or evaluates the desired math that is to be added to a graph, and thereby often changes its form.

It's much easier to convert typeset (2D) math to an Atomic Variable. This is one of the advantages of working in a Document with typeset math. (This forum has lately contained a number of strong statements as to the advantages of using 1d math in a Worksheet. Worksheets are great for coders, but not for authors of expository mathematics who want their opus to "look right.")

Convolution is associative. Consider three functions f(t), g(t), h(t) with transforms F(s), G(s), H(s), respectively. Using the asterisk for "convolution product" and the period for ordinary multiplication, f*(g*h) = (f*g)*h = f*g*h. Hence, f*g*h = L^(-1)[F.G.H]

In other words, the convolution of a product of factors, is the inverse transform of the product of the transforms of the factors.

Since the original post did not clearly define terms, it was a bit difficult to determine if the result had been correctly stated.

I found the question interesting enough to examine it further, especially since it provoked another round of anti-2D sentiment.

The command piecewise(x < 1, a, x < 2, b, x < 3, c, d); creates a piecewise function that I actually entered from the piecewise template in the Expression palette (using 2D, or typeset, math). Now, what does it mean to delete a row? Suppose it is the second row that is to be deleted. What function value takes the place of "b" on the interval [1,2)? I think that's the essential question. Is the function to be undefined on that subinterval? or is the value to be, say, "c" on that subinterval? So, just deleting the row isn't enough. One has to determine what is to happen when the condition in that row is removed.

For example, to have the function assume the value "c" on that subinterval, I used Context Menu/ Evaluate at a Point, and set b=c, then invoked Simplify/Simplify from the Context Menu. The result was the piecewise function that could be described by the command-form piecewise(x < 1, a, x < 3, c, 3 <= x, d);

But the OP might have meant the following work-flow. The Piecewise template is entered from the Expression palette and a row is added. Immediately, it is recognized that this row is not wanted. Control-z will undo the insertion of the row.

What other scenario could have provoked the original question?

The original functionality for displaying the steps in the evaluation of an integral was put into the Calculus1 package, and was designed for a single integral. Functionality for setting and evaluating iterated integrals was then placed into the MultiInt command in the Student MultivariateCalculus package. Initially, this command did not have the ability to provide a stepwise evaluation. Eventually, the output was augmented with the option output=steps, which apparently is nothing more than the iteration shown by Kitonum.

Student:-MultivariateCalculus:-MultiInt(exp(cos(x)), y=0..sin(x), x=0..Pi/2, output = steps)

The other possible outputs are output=integral and output=value, the first giving the unevaluated integral; the second, the value of the integral. Since this is the default, if the option output=value is omitted, the command then returns the value of the integral.

None of the 13 fitting commands in Maple accept an implicitly defined fitting function. Only one accepts a set of equations, and that is the LeastSquares command in the LinearAlgebra package. So, form a set of equations determined by the data and the implicitly defined fitting function, apply the appropriate command, and get a terrible fit. Conclusion - find a better fitting function.

The details are in the attached worksheet.Implicit_Least_Squares.mw

Simplest extension of solve and fsolve is the Roots command in the Student Calculus1 package. Here, use

Student:-Calculus1:-Roots(3.2+0.4*sin(1.25*x)=3.5,x=0..5);

to get the two roots in the interval [0,5].

RootFinding:-Analytic finds roots in a region of the complex plane, and is often slower and less accurate than Roots. For a strictly real problem, I find Roots easier to apply. It will return exact solutions where it can, numeric solutions for numeric examples, and has the option "numeric" to force the use of numeric algorithms.

4 5 6 7 8 9 10 Last Page 6 of 21