Thomas Richard

Mr. Thomas Richard

2960 Reputation

13 Badges

13 years, 154 days
Maplesoft Europe GmbH
Technical professional in industry or government
Aachen, Germany

MaplePrimes Activity


These are answers submitted by Thomas Richard

That's not possible. Executing a Maplet requires Maple. But you can launch the Maplet Viewer (e.g. mapletviewer.exe under Windows) so that no Maple worksheet interface is opened.

If you can rewrite your Maplet so as to use Embedded Components (using the DocumentTools package), the worksheet will be usable in the free Maple Player. This is the recommended way to go.

You just need to replace Accumulate by add, and Log2 by log2:

A219954list := nmax -> local n; add([seq(ifelse(n = 1, 0, 3^numboccur(convert(n - 1, 'base', 2), 1) - ifelse(type(log2(n), integer), 1/2*n, 0)), n = 1 .. nmax)]);

seq(A219954list(n),n=1..33); 

Whether that's all correct and/or efficient, I did not check (it's my lunch break, sorry).

Input errors aside, the best command for this task is pdetest. It works really straightforward:

pdetest(solution, pde);

where solution is (typically) the output of pdsolve. No need to hassle with subs, eval and simplify.

For input display, I don't think that's possible in Maple Flow.

Correction: try command completion right after entering diff (i.e. press Ctrl+Space on Windows, or Cmd+Shift+Space on macOS), and select partial d operator.

For output display, just enter diff(u(x,y,z),x,x) (likewise for the other derivatives), or - for the Laplace equation:

VectorCalculus:-Laplacian(u(x, y, z), coords = [x, y, z]) = 0

 

Help > Maple Help > How Do I... (2nd bullet item under Resources) > ...solve an ordinary differential equation?

Simply add this line:

plot(rhs(solution), t = 0 .. 5);

Your worksheet was saved with Maple 18 which is quite old.

The problem was fixed in a later version - not sure when exactly, but Maple 2023 gets it right. So the recommendation is to upgrade.

The following will return two formal solutions for nu, but I doubt they will be of much use:

Note that I have cleaned up parentheses a bit, and replaced U[w] by U__w (literal subscript, as opposed to indexing).

eta := (x,y,t) -> y/((nu*t*cos(alpha)+nu*x/U__w*sin(alpha))^(1/2));
psi := (x,y,t) -> U__w*(nu*t*cos(alpha)+nu*x/U__w*sin(alpha))^(1/2)*f(eta(x,y,t));

transf := [u(x,y,t) = diff(psi(x,y,t),y), v(x,y,t) = -diff(psi(x,y,t),x)];

eq1 := diff(u(x,y,t),x) + diff(v(x,y,t),y) = 0;
eq2 := diff(u(x,y,t),t) + u(x,y,t)*diff(u(x,y,t),x) + v(x,y,t)*diff(u(x,y,t),y) - nu*diff(u(x,y,t),y,y) = 0;
sys := [eq1,eq2]:

newsys := eval(sys,transf);
# newsys[1] is trivial: 0=0
neweq := simplify(newsys[2]);
solve(neweq,nu);

Does this help?

Perhaps it's more useful to run pdsolve on the original system sys.

There are several ways to obtain that; I find this one quite easy:

p := x^2-a*x-b*x+a*b;
                                           2
                   p := a b - a x - b x + x 

eval(p,[a=2,b=3]);
                           2          
                          x  - 5 x + 6

L := [[2,3],[-3,7],[9,10]]:

seq(eval(p, [a,b] =~ para), para in L);
           2             2              2            
          x  - 5 x + 6, x  - 4 x - 21, x  - 19 x + 90

See the help pages on eval and the tilde (elementwise operator) for more background information.

You can query an event and optionally install your own event handler like this:

NumericStatus(real_to_complex);
sqrt(-5);
NumericStatus(real_to_complex);

MyHandler:=proc(operator,operands,default_value)
   WARNING("You must assume the sqrt argument is positive."):
   return(default_value):
end proc:

NumericEventHandler(real_to_complex=MyHandler):

sqrt(-5);

For more details, please enter ?NumericEventHandler to open the help page.

If you additionally want sqrt(-5) to return the symbol undefined (as opposed to I*sqrt(5)), just load the RealDomain package. It is not perfect, however: it may not catch every situation where complex numbers arise.

That's right, they are not supported in Maple Flow.

For this particular example, you can get the result by entering 4*~L, however. The tilde operator will take care of mapping.

Hi,

do you really want to print the tests?

If working interactively in Maple is also an option, take a look at the PracticeSheet command. It's covering several topics (mainly from calculus), and will take care of the randomization.

This is covered by the expand command:

restart

eq := (cosh(zeta+d)-2*sinh(zeta+d))/sinh(zeta+d)

(cosh(zeta+d)-2*sinh(zeta+d))/sinh(zeta+d)

(1)

eeq := expand(eq)

cosh(zeta)*cosh(d)/(sinh(zeta)*cosh(d)+cosh(zeta)*sinh(d))+sinh(zeta)*sinh(d)/(sinh(zeta)*cosh(d)+cosh(zeta)*sinh(d))-2*sinh(zeta)*cosh(d)/(sinh(zeta)*cosh(d)+cosh(zeta)*sinh(d))-2*cosh(zeta)*sinh(d)/(sinh(zeta)*cosh(d)+cosh(zeta)*sinh(d))

(2)

normal(eeq)

(cosh(zeta)*cosh(d)+sinh(zeta)*sinh(d)-2*sinh(zeta)*cosh(d)-2*cosh(zeta)*sinh(d))/(sinh(zeta)*cosh(d)+cosh(zeta)*sinh(d))

(3)

simplify(eeq)

((cosh(d)-2*sinh(d))*cosh(zeta)-2*sinh(zeta)*(cosh(d)-(1/2)*sinh(d)))/(sinh(zeta)*cosh(d)+cosh(zeta)*sinh(d))

(4)

``

Download trigh-expansion.mw

One way to obtain these coefficients is as follows:
 

restart:

n:=3:

ls:=expand((3+2*x+3*x^2)^n)

27*x^6+54*x^5+117*x^4+116*x^3+117*x^2+54*x+27

(1)

rs:=sum(b[i]*x^i,i=0..2*n);

x^6*b[6]+x^5*b[5]+x^4*b[4]+x^3*b[3]+x^2*b[2]+x*b[1]+b[0]

(2)

sol:=solve(identity(ls=rs,x));

{b[0] = 27, b[1] = 54, b[2] = 117, b[3] = 116, b[4] = 117, b[5] = 54, b[6] = 27}

(3)

assign(sol); # optional step

b[4];

117

(4)

 


Please see ?solve,identity for more details.

Download solve-identity.mw

 

Yes, the free Maple Player is covering this. It is actually a bit more than a static viewer; please see the description. All mainstream platforms (Windows, Linux, macOS) are supported.

1 2 3 4 5 6 7 Last Page 1 of 41