dharr

Dr. David Harrington

8597 Reputation

22 Badges

21 years, 63 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

An example of one of your DEs would help, and what output your are expecting. The following may be useful: f:=cos(theta)+sin(theta)+theta^2+theta*alpha; mtaylor(f,theta,2); gives 1+(1+alpha)*theta So all terms work the way you want except the theta*alpha, which you want to disappear. This works better: Student[MultivariateCalculus][TaylorApproximation](f,[theta,alpha]=[0,0],1); gives 1+theta It might be easier to think in terms of the Jacobian matrix if you have a system of DEs
If you plot plot(erf(ln(x)),x=0..10); you see that the function is negative and nice from 0..1, and indeed you can integrate this bit int(erf(ln(x)),x=0..1); gives -exp(1/4)+exp(1/4)*erf(1/2). From x=1 to infinity the function rises from zero and then asymptotically approaches 1. So the integral of this part must be infinity. Maple seems not to have an analytical answer for, say, the integral from 1 to 2, so here I guess you will have to be satisfied with a numerical answer (and therefore also for arbitrary a and b). Cheers, David.
This works for me (in Maple 10). evalc assumes real anyway so that part is redundant. Both evalc and evalc(Re()) work:
q:=(zks/(alphas+I*vs)*(exp(-I*times*vs)-exp(-I*times1*vs-alphas*tds))):
simplify(evalc(Re(q)));
gives
zks*(alphas*cos(times*vs)-alphas*exp(-alphas*tds)*cos(times1*vs)
 -vs*sin(times*vs)+vs*exp(-alphas*tds)*sin(times1*vs))/(alphas^2+vs^2)
asympt gives an asymptotic series, which tells how the function goes for large x. Can you be more specific about what you mean by "bound" here?
And yet a plot of Budaoy's sum gives answers out to about 2.3, and agrees with log(1+x)/(1+x) over this range.
> p1:=plot(sum((-1)^(i+1)*(Psi(i+1)+gamma)*x^i,
    i = 1 .. infinity),x=0..5,color=red):

> p2:=plot(log(1+x)/(1+x),x=0..5,color=blue):

> display(p2,p1);
There is no way to export the numbers directly from a plot. This is a non-trivial task. You need to generate the x,y values separately and then write them to a file. A lot will depend on what format etc you need them in your plotting program.
The DEplot command in the DETools package has more features than odeplot, including plots of different intial conditions.
solve(2*s^2 - 12*s + 16); returns the answers 4 and 2
Not sure really what you want to do, and your code fragment is not complete. Do h,l,i have values? The line g:=3*b*/w has a syntax error. Perhaps the complete code would be helpful. Do you still want to vary a, or something else; you mention v. If you just want to vary a in a loop it can be done like with(plots): plts:=NULL: for a from 0.4 to 1.8 by 0.2 do ... plts:=plts,plot( ... ): end do: display(plts);
You can use display to get all the plots statically displayed together. Animate (or display with insequence=true) can display them sequentially in an animation. For your case with static display use something like this
restart;with(plots):
Zin:=(a,b,c,d,e,f,omega)->a*sin(omega*b)+c+d+e+f;
display([seq(plot(Zin(1+0.2*i,1,0,0,0,0,omega),
        omega=0..2*Pi),i=0..3)]);
you can define operators with various properties (linearity, etc) and they can be non-commutative. Perhaps this is what you mean; see help for "define". But I don't think there would be much of the knowledge of matrices and vectors that you could build in (e.g. singular matrix times non-singular = singular).
Maple doesn't have abstract matrices in the sense that you want; you have to work with matrices and vectors with symbolic entries.
In the help page for plot,device, it says gif takes height and width parameters for number of pixels. So something like this works plotsetup(gif,plotoutput="C:/plot.gif", plotoptions="height=500,width=500"); (This can also be done via the interface command.)
You can also add rows by premultiplying by a row vector with all its entries 1
Without looking too much at the details of your example, if you have an equation for voltage as a function of current density, j, such as V:=2.5-5*j; then it is plotted as plot(V,j=0..0.5); If you really want discrete points, then there are a lot of ways to do it; one would be (intervals of dt) dt:=0.1; plot([seq([i*dt,eval(V,j=i*dt)],i=0..5)],style=point);
First 77 78 79 80 81 82 83 Page 79 of 84