Carl Love

Carl Love

28055 Reputation

25 Badges

12 years, 357 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

@Carl Love I've corrected the Answer above. In the previous version, while I was formatting the session transcript in the MaplePrimes editor, a few lines were transcribed out of order, making the logical flow of my expository comments difficult to follow. If you read that Answer, then please reread the above. This time, I just uploaded my worksheet rather than trying to neatly format it into color-coded plaintext.

@Maximity Sorry, I forgot something: You need to include evalf, like this:

for i from 0 to evalf(Pi) by evalf(Pi/1000) do

But, this many points (21,021 = 1001 i x 21 j) is very slow to process. Here's an alternative that works from the plot.

Create a plot3d from the pdsolve(..., numeric) solution and save it to a variable:

P:= HS:-plot3d(u(x,t), t= 0..2, x= 0..Pi, grid= [50,50]);

The grid option specifies the number of evaluation points in the t dimension by the number in the x dimension.

Then use this procedure, which finds the maximum difference between this plot and the equivalent plot of the analytic solution.

PlotCompare:= proc(
    P1::specfunc(PLOT3D),
    Ana::procedure
)
local 
    G:= indets(P1, specfunc(GRID))[],
    P1data:= op(3,G),
    P2:= plot3d(Ana, op(1..2, G), grid= [upperbound(P1data)]),
    P2data:= op(3, indets(P2, specfunc(GRID))[])
;
    print(plots:-display(<P1 | P2>));
    max(abs~(P1data-P2data))
end proc
:
PlotCompare(P, Ana);

      0.00135289691747364


 

 

@Maximity You can simply use

for i from 0 to Pi by Pi/1000 do

It's usual in Maple to initilize Max to -infinity. This makes the code clearer to read, but there's no error (in this case) with your initiization to -2. Then if the final result is -infinity, you'll know that nothing was actually compared.

If your loop runs too slowly, I have some ways to speed it up.

Someone on here who very likely knows the answer to that is @Edgardo Cheb-Terrab @ecterrab. So, I just tagged him so that he'll see this.

@Scot Gould Just to be clear, I was referring to an Android / iOS version of Maple Player, not Maple itself.

Regarding the Maple Cloud: Until you brought it up, I was unaware that users could use the content interactively through a web browser. I've tried browsing it, but the file system is just too disorganized and the search features virtually non-existent (same two problem with MaplePrimes, btw).

I edited your Question to remove duplication, which probably wasn't your fault or intention anyway. All of the relevant details have been retained.

@Scot Gould I wonder if Maplesoft is working on a version of Maple Player for Android and related OSs. If so, then you could distribute your worksheets through a more-robust cloud-based file-sharing system like Google Documents.

An amazingly large subset of Maple can be had on one's phone in a calculator form with the free app Maple Companion. To a limited extent, one can download content to it simply by taking a photo of the content.

When I was teaching at a university (circa 1998-2004), I had a separate Yahoo Group for every class. This provided a file-sharing area for worksheets as well as a discussion forum.

@Kitonum My doubts were satisfied by your explanation of the faults of value​​.​​​​ I thought that it was giving wrong results for this particular PDE system. But I think that you're saying that it always gives 0 for derivatives.

@acer I don't know if this is still true in the latest Maple, but I recall a few years ago (no more than 7) that it was often necessary to do Threads:-Sleep(2) (or some other time-wasting command) after plotsetup ​​​​​​to give the GUI and kernel time to synchronize.
 

@Melvin Brown When you're through with the plot, it'd probably be best to send it to the garbage collector:

P:= 'P':

This is just to reduce the kernel's memory usage; it doesn't affect the GUI.

The Post Reply that includes my compiled tridiagonal code is here: https://www.mapleprimes.com/posts/210623-A-Finite-Difference-Scheme-For-The-Heat

@jalal How do you want to improve that animation? Do you want it to evolve more slowly? Then increase frames.

Does the above do what you want? Why haven't you responded, especially considering all the buildup?

@Kitonum Given that the value export from the solution module gives a wrong result for these (0), I'm somewhat suspicious of your results. I'm not saying that they're wrong! It would be nice if the same results or close could be obtained by a somewhat "computationally independent" method, perhaps by using smaller spacestep and timestep.

@Ajla No worries.

I showed you only what I thought was the most direct answer to your Question, but there are many possible variations of that and many much-more-sophisticated ways to numerically solve ODE systems and to present those solutions (usually as plots). So, if you're still having trouble or need any more information, let us know.

@Joe Riel I was aware of the ability to pass the list directly to Iterator:-Permute. I didn't use that because the ordering of the permutations thus produced depends on the lexicographic order of the list entries--as if they were a set rather than a list. I consider that a bug.

First 222 223 224 225 226 227 228 Last Page 224 of 709