dharr

Dr. David Harrington

2403 Reputation

17 years, 146 days
University of Victoria
Professor or university staff

Social Networks and Content at Maplesoft.com I am a professor of chemistry at the University of Victoria, BC, Canada, where my research areas are electrochemistry and surface science. I have been a user of Maple since about 1990.

Sum is another possibility...

Very interesting. Not sure why zero results. Using Sum rather than sum in part 2 is better: #Part 4. restart; N:=2; u:=(t,x)->Sum(a[n](t)*sin(n*Pi*x),n=1..N); u(t,x); diff(u(t,x),t); D(u)(t,x); value(%);

transcendental eqns, numerical solution...

for equations such as these, the general solution is represented as RootOf(sin(2*x)+2*x) This is not that useful for numerical work, but is useful to get series solutions etc - see the help page for RootOf. For numerical stuff, you can use fsolve > f:=sin(2*(a+b*I))+2*(a+b*I); > Ref:=evalc(Re(f)); > Imf:=evalc(Im(f)); f := sin(2 a + 2 I b) + 2 a + 2 I b Ref := sin(2 a) cosh(2 b) + 2 a Imf := cos(2 a) sinh(2 b) + 2 b > ans:=fsolve({Ref,Imf},{a,b}); ans := {a = 5.356268699, b = -1.551574373} > ans2:=fsolve({Ref,Imf},{a,b},avoid=ans); ans2 := {a = 2.106196115, b = -1.125364306} and so on. To look at where Real and Imaginary parts individually equal zero, you can use plot3d(Ref,a=-5..5,b=-5..5,style=PATCHCONTOUR,contours=,orientation=[0,-180],axes=boxed); plot3d(Imf,a=-5..5,b=-5..5,style=PATCHCONTOUR,contours=,orientation=[0,-180],axes=boxed); and this can help you hunt for particular solutions with fsolve - see fsolve help page for other ways of restricting ranges for solution or selecting initial guesses.

Typo?...

In the end of eq2, you have "l2^.674 = 0", and the "l2" is a third variable, so you have 2 eqns in three unknowns. Probably "l2" (with letter l) is a typo. I'd use fsolve for this, but using implicitplot to define a range to start searching is a good strategy.

maxmesh/abserr...

If I recall correctly (from about a year ago), there is an interaction between maxmesh and abserr. Depending on the difficulty of the problem, you can go only so far in getting accuracy.

crude legend...

Needs a lot of work, but something that generates the legend separately, such as with(plots): p1:=plot3d(phi*cos(phi)^3,theta=0..2*Pi,phi=0..Pi/2, coords=spherical,scaling=constrained,color=phi,style=patchnogrid,axes=normal): p2:=plot3d(phi,phi=0..Pi/2,y=0..1,color=phi,axes=boxed,style=patchnogrid,orientation=[180,90]): display(p1);display(p2); This doesn't put them together very well because one is in spherical, the other in cartesian coordinates. With quite a bit of work you could get them together on the same plot and co-ordinates. The colors may not correspond here because of the automatic scaling. You may need to look at the colorfunc information and write your own procedure. Maple is great for looking at stuff, but not so good at prettying it up.

crude legend...

Needs a lot of work, but something that generates the legend separately, such as with(plots): p1:=plot3d(phi*cos(phi)^3,theta=0..2*Pi,phi=0..Pi/2, coords=spherical,scaling=constrained,color=phi,style=patchnogrid,axes=normal): p2:=plot3d(phi,phi=0..Pi/2,y=0..1,color=phi,axes=boxed,style=patchnogrid,orientation=[180,90]): display(p1);display(p2); This doesn't put them together very well because one is in spherical, the other in cartesian coordinates. With quite a bit of work you could get them together on the same plot and co-ordinates. The colors may not correspond here because of the automatic scaling. You may need to look at the colorfunc information and write your own procedure. Maple is great for looking at stuff, but not so good at prettying it up.

maxmesh...

Just add 'maxmesh'=500 as an option in dsolve. Documented under ?dsolve,bvp
 First 23 24 25 Page 25 of 25
﻿