dharr

Dr. David Harrington

8215 Reputation

22 Badges

20 years, 339 days
University of Victoria
Professor or university staff
Victoria, British Columbia, Canada

Social Networks and Content at Maplesoft.com

Maple Application Center
I am a retired professor of chemistry at the University of Victoria, BC, Canada. My research areas are electrochemistry and surface science. I have been a user of Maple since about 1990.

MaplePrimes Activity


These are answers submitted by dharr

eq1:=sin(tan(a)^2+1/tan(b)); convert(eq1,sincos); will do what you want. You can also convert exclusively to sin or cos.
A less flexible option (because you don't get to choose the filenames) is just to export the worksheet to HTML, choosing the GIF option and images directory "images". Then all your plots are in the images directory as gifs; you just have to find which is which.
The numeric form of dsolve gets stuck on the RootOf also. You can get round this by providing a procedure to solve for dVdt that uses fsolve. See the worksheet View 127_non-linear ODE.mw on MapleNet or Download 127_non-linear ODE.mw
View file details
In general you need as many initial/boundary conditions as the order of the highest derivative, e.g., if n+B=3 (and n is less than or equal to 3) then you need 3 conditions and you only have one, V(0)=0. What happens if n and n+B are not integers is not clear to me.
You can control the number of digits displayed in floating point calculations with, e.g., interface(displayprecision=5); This example doesn't seem to have too much loss of significance, but you can always carry your results through with rationals, and then at the end use evalf(M) to see the floating point form.
To multiply the list elements by x and have the units in the list, you can use map(`*`,u,x);
Using a set within display means you can't determine the order. If you just have the two plots as arguments, then the second one is on top of the first: xp:=[1,0.5,0.4,1.5];yp:=[2.1,3,3,1];a:=2;h:=1;w:=1;p:=0; with(plots): points:=Statistics[ScatterPlot](xp,yp,symbol=box): curve:=plot(h + a*cos(w*x+p),x=0..2,title="Function and Data Plot",thickness=2): display(curve, points); display(points, curve);
Thanks to JacquesC I can create help pages for my package and make an examples worksheet in the help database appear as a worksheet. Now I have some problems making these to appear correctly in the help browser table of contents. I can get my list of pages in the browser TOC, but: 1. They are always in alphabetical order. How can I change this, in particular my overview page should appear first. 2. ?packname,topic2 does not work if topic2 is an alias. 3. After selecting the examples worksheet, exiting that worksheet deletes all the entries in the table of contents for the session (this one seems more like a bug). Suggestions, Thanks, David.
The infolevel function is used for this purpose. See the help for the Student package and infolevel. At the simplest it is just with(Student): infolevel[Student]:=1; Your example is too simple to have additional information provided. If you were integrating, or doing something more complicated, you would get information about the method being used.
I think you can only use a given integer for i, e.g., i=2 will work, but the general formula for arbitrary i is too hard.
look at the help page for DEplot; it has a Lotka-Volterra example. odeplot can also be used for plotting solutions to DEs. If you need more than just plot output, take a look at dsolve.
The following works: de:=v(x)*(diff(v(x), x)) = -k/x^2; ini:=v(a)=v0; dsolve({de,ini},{v(x)}) assuming positive;
I gave up waiting before I got the error message; not sure specifically why it occurs. As a general comment, RoofOf is not much use unless you are going to further manipulate the analytical solution. Allvalues is best for polynomial solutions. Since there is unlikely to be an analytical solution here, just use fsolve instead of solve (the second solution is just the negative of the one provided).
Note that a:=2*a; gives a recursion error, and so it will also with multiple assignments. But if you have expressions or values you want to double, try a,b,c := op(map(x->2*x,[5,7,8])); The op() just removes the square brackets around the list.
If your left hand sides are meant to be second derivatives then you can do it like: eqn1 := (D@@2)(x)(t) = -a*sqrt(D(x)(t)^2+D(y)(t)^2)*D(x)(t); eqn2 := (D@@2)(y)(t) = g-a*sqrt(D(x)(t)^2+D(y)(t)^2)*D(y)(t); dsolve({eqn1,eqn2},{x(t),y(t)}); If you add some initial conditions within the {} with eqn1 and eqn 2 you can get a nicer expression.
First 77 78 79 80 81 Page 79 of 81