Preben Alsholm

MaplePrimes Activity


These are replies submitted by Preben Alsholm

I use a Danish keyboard, but admittedly I always use the worksheet interface and 1D (aka Maple) input, so my reply may not be relevant.
However, I just tried the keystrokes [CTRL]+[ALT]+0 in Maple 17 and 18 and it produced the }  just as [ALT-GR]+0 did.
When I try  [CTRL]+= the input just gets very small.

@emrantohidi Your link refers to a long paper and your question seems to be of a general nature.
I'm not sure that I would be the right person to answer that. In any case I would certainly suggest that you ask the question as a new question and not here buried in some other question. That should give it a chance of being seen by more people.
Also I strongly suggest that you provide a specific example of the type of problem you are talking about.
The more concrete the better.

@J4James I just tried to google  elliptic pdes in Maple  and one item which came up looked promising:

http://www.math.unb.ca/~seahra/4503/maple_2011.html
The author is Sanjeev Seahra.
You can get a worksheet and a pdf file from that page on Linear Elliptic PDEs.
I haven't taken the time to look at it, but just seen that it is available and can be downloaded without any problem.

@wo0olf You can use sol:-value with the option output=listprocedure like this:

Tv:=subs(sol:-value(output=listprocedure),T(x,y));
Tv(.01,.00002); #Example of use
100/Tv(.01,.00002); #h at the same (x,y) point


Your system is not an autonomous system, i.e. the right hand sides depend on t explicitly through the function sin(2*Pi*t). (I'm assuming that by sin2Πt you mean sin(2*Pi*t)). Thus the vector field associated with the odes for S(t) and i(t) is time dependent (I use 'i' instead of 'I', because I is the imaginary unit in Maple).
Therefore you ought to tell us in more detail what kind of picture you would like to see.

@Chia No, as an example, try:
pde:=diff(u(x,y),x,x)+diff(u(x,y),y,y)=0;
bcs:={u(x,0)=0,u(x,1)=0,u(0,y)=y,u(1,y)=y^2};
pdsolve(pde,bcs,numeric);
The error message is:

Error, (in pdsolve/numeric) unable to handle elliptic PDEs

In the help page for pdsolve/numeric the solver is described as time based, which I'm sure means that the algorithm "marches" forward in time (t) from known initial conditions all along satisfying the boundary conditions at each end of the x-interval. You get no complaints therefore if you impose initial and boundary conditions which allow that to happen:
ibcs:={u(x,0)=0,D[2](u)(x,0)=0,u(0,y)=y,u(1,y)=y^2};
res:=pdsolve(pde,ibcs,numeric,timestep=.001,spacestep=.001);
Whether it is a reasonable problem (ill-posed, or interesting) is another matter.







This problem was discussed in an answer to your previous question:

http://www.mapleprimes.com/questions/202074-Pde-Solver-Problem

Just to give an answer:

res:=u(x, t) = Sum((Int(f(x)*cos(Pi/4*(2*n+1)*x), x = 0 .. 2))*cos(Pi/4*(2*n+1)*x)*exp(-(Pi/4*(2*n+1))^2*a^2*t), n = 0 .. infinity);

This is found by hand the same way Maple successfully solves the problem with the boundary conditions
u(0,t) = 0, u(2,t) = 0.

@Chia Infinitely many solutions are returned by dsolve(de); For each constant _C1 you got a solution.
If you add an initial condition like y(0)=35, then there is exactly one solution (under very general conditions on f). Thus if the operator T is defined on (say) C^1(R) (functions differentiable on R with continuous derivative) by T(y) = y' and satisfying y(0)=35, then the equation T(y)=f has a unique solution y for given f as long as f is continuous on R. Thus the inverse of T, T^(-1), exists and is defined on C(R).
The main point to be made, though, is that this doesn't help us one bit in finding the solution.

The obvious first answer is that D[1, 1]+D[1, 2]+D[2, 2] doesn't have an inverse.
Just think of the equation y'(x)=f(x), where y is the unknown. Using D you have D(y)=f. Clearly, if there is a solution,there are infinitely many. To single out one of those you need an extra condition. The same holds for the differential operator
D[1, 1]+D[1, 2]+D[2, 2].

@wo0olf But D[1](M)(x,0)=1000 when diff(T(x,y),y)=M(x,y) means the same as D[1,2](T)(x,0)=1000, i.e. the mixed derivative of second order.
Notice that in Maple diff(T(x,y),y) = D[2](T)(x,y).

@lijiwei You must correct (or reformulate) the problem, in particular the definition of Y.
Is h(x) always supposed to nonnegative? If h(x)>0 then s(x)>1, thus (1-s(x)) < 0 so that (1-s(x))^(-1+1/n) = 1/(1-s(x))^(2/7) is imaginary.

@wo0olf Well, then you got the problem that the boundary conditions can only contain derivatives normal to the boundary, thus D[1](T)(x,0)=1000 and D[1](T)(x,0.000025)=2000 are not acceptable.

Could you provide text instead of an image, please.

You have
Y := x->f-(1/2-(1/2)/n)*ln(s(x))+2*ln(1-(1-s(x))^(-1+1/n));
and with the values of your parameters then that evaluates to

thus you have a problem even though you only need diff(Y(x),x):
At the one end x=0 you want h(0)=0. If h(x)>0 for some x then you get an imaginary result because of the last term in Y, try
eval(Y(x),{diff(h(x),x)=1,h(x)=-.1});
If on the other hand h(x)<0 for some x then the fact that you have h(x)^n gives an imaginary result, try
eval(h(x)^n,h(x)=-.1);

The error I get from dsolve is not the one you report, but:
Error, (in fproc) unable to store 'HFloat(HFloat(undefined))+HFloat(HFloat(undefined))*I' when datatype=float[8]

First 142 143 144 145 146 147 148 Last Page 144 of 231