dharr

Dr. David Harrington

8482 Reputation

22 Badges

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

In general fsolve only returns one answer. If you want others, you can specify a range to look for roots in, e..g, x=187.5..188.5 or give an initial guess, e.g, x=188. See the help for fsolve

Using fsolve to find the number of terms at which the error is 0.3 won't work because the error for an integer number of terms won't exactly be 0.3, so there is no solution. You know that the error must decrease so it is efficient to just add an extra term on and then recalculate the error in a loop.

The integration method _d01akc works well for these sorts of integrals.

restart;

f:=x->x;
y:=(n,x)->exp(-x/2)*sin(n*Pi*x);
w:=(x)->exp(x);

proc (x) options operator, arrow; x end proc

 

proc (n, x) options operator, arrow; exp(-(1/2)*x)*sin(n*Pi*x) end proc

 

proc (x) options operator, arrow; exp(x) end proc

(1)

Note the normalizing integral is always 1/2:

d:=int(w(x)*y(n,x)^2,x=0..1) assuming n::posint;

1/2

(2)

And we can get a general formula for the coefficients

int(w(x)*f(x)*y(n,x),x=0..1)/d assuming n::posint;
c:=unapply(%,n);

-8*n*Pi*(4*Pi^2*exp(1/2)*(-1)^n*n^2+3*(-1)^(1+n)*exp(1/2)+4)/(16*Pi^4*n^4+8*Pi^2*n^2+1)

 

proc (n) options operator, arrow; -8*n*Pi*(4*Pi^2*exp(1/2)*(-1)^n*n^2+3*(-1)^(n+1)*exp(1/2)+4)/(16*Pi^4*n^4+8*Pi^2*n^2+1) end proc

(3)

Fourierf:=0:Lerror:=infinity:
for n while Lerror>0.3 do
  Fourierf:=Fourierf+c(n)*y(n,x);
  Lerror:=evalf(sqrt(Int((f(x)-Fourierf)^2*w(x),x=0..1,method='_d01akc'))); #edit: test after adding term
  print(n,Lerror);
od:

1, .5894736138

 

2, .4627928802

 

3, .3943241015

 

4, .3483437147

 

5, .3156572254

 

6, .2905059507

(4)

 

 

Download Eigenfn_error.mw

In Maple 2015.2 evalf(Int(...)) quickly returns the answer you give.


q:=sin(omega*(T0-T)+Phi);

sin(omega*(T0-T)+Phi)

(1)

map(expand,q);algsubs(T0*omega+Phi=c,%);expand(%);subs(c=T0*omega+Phi,%);

sin(-T*omega+T0*omega+Phi)

 

-sin(T*omega-c)

 

-sin(omega*T)*cos(c)+cos(omega*T)*sin(c)

 

-sin(omega*T)*cos(T0*omega+Phi)+cos(omega*T)*sin(T0*omega+Phi)

(2)

 

 

 

 

Bits:-GetBits(19,-1..0,bits=8);

0, 0, 0, 1, 0, 0, 1, 1

Bits:-GetBits(-(19+1),-1..0,bits=8);

1, 1, 1, 0, 1, 1, 0, 0  #ones complement

Bits:-GetBits(-19,-1..0,bits=8);

1, 1, 1, 0, 1, 1, 0, 1  #twos complement

Since you know an eigenvalue of (square) M is 1, then

NullSpace(M-1*IdentityMatrix(RowDimension(M)));

returns the set of eigenvector(s) corresponding to eigenvalue 1.

map(x->add(i,i in Bits:-Split(x)),mylist);

or even simpler in Maple 2015 (wthout the hyperlink formatting):

map(add@Bits:-Split,mylist);

In Maple 2015:

f:=x->x^2;g:=x->x^3;
A:=Array([f,g]);
A(1)(m);

gives m^2

which I think is what you want.

The code works for me in Maple 2015 in 1-D math. It seems you have a space between print and ( which is interpreted as multiplication - remove it and it should work.

Use shift-enter to make a new line in the same execution group. (In more recent versions, the error message gives you this advice).

Following the observation from @tomleslie, you can just divide your equation through by x to get x^3+x*z+y and then implicitplot gives you what you want. 

implicitplot is confused by filled=true; wants a closed curve then filledregion=true

Perhaps you want

eq:=x^(1/2)+y^(1/2)=2;
solve(eq,y);
plot(%,x=0..1,filled=true);

 

x^(1/2)+y^(1/2) = 2

x-4*x^(1/2)+4



 

indets(eq[1],name); gives the indeterminates: {a, b, c, d, HRa[1, 0], SR[1, 1], W[1, 0], ga[1, 0]}

If you add "assuming t>0", then you will get just (+) infinity, which seems to the the correct answer since the denominator approaches zero as s approaches t. This assumes you wanted s real - not sure what answer you expected here.

_z1 is a dummy integration variable. You asked for an analytic solution (the default) and it contains an integral that can't be evaluated analytically.

Probably you only want an numerical solution, so add the numeric option to dsolve. Then you can use the returned procedure to find values of Vc at different times, or use odeplot to look at the solution as a function of time.

First 71 72 73 74 75 76 77 Last Page 73 of 83