6809 Reputation

10 years, 222 days

Try the 'approxsoln' option...

The attached solves the system for lambda=0.1. It then uses this solution (via approxsoln=..) to obtain a solution for lambsa=0.2

 (1)
 (2)

 (3)

How many ways do you want?...

Four possible alternatives are shown in the attached

 (1)

 (2)

Thats easy to use the ScalarPotential for a manual exercise

Example 2: finding a Potential function

Show that

 (3)

is conversative and find a potential function for it.

 (4)

 (5)

 (6)

Clarify...

If I open the help page DeepLearning:-Classify as a worksheet and then execcute it repeatedly - it always *seems* to work.

See the attached (which for some reason won't display inline here,  not sure why??)

So I think you will have to provide the worksheet which exhibits the failure (Use the big green  up-arrow in the Mapleprimes toolbar)

BTW I'm using 64-bit Win7

Basically...

You just need to perform computations to much higher accuracy - in the attached I used Digits=50 (whihc may(?) be overkill

It is also probably a good idea to use RootFinding:-Nextzero() rather than RootFinding:-Analytic(), since you are only searching for roots along the real line.

It is also much simpler to use the LinearAlgebra:-GenerateMatrix() command to construct the  matrix whose determinant is needed to obtain the roots.

See the attached

 >
 >
 (1)
 >
 >

Very doubtful boundary condition...

you might want to consider the attached very carefully

 > restart: # # Define some parameters #    params:=[phi1 = .1, phi2 = .1, rhos1 = 2720, rhos2 = 2810,             rhosf = 997.1, khnf = 1.083061737, kf = .613,             cp1 = 893, cp2 = 960, cpf = 4179, Pr = 6.2,             knf = .8154646474, S=0.5, R=0.5, gamma=0.5           ]: # # Define the ODES #   ODES := (diff(f(eta), `\$`(eta, 4)))/((1-phi1)^2.5*(1-phi2)^2.5*((1-phi2)*(1-phi1+phi1*rhos1/rhosf)+phi2*rhos2/rhosf))+S*(f(eta)*(diff(f(eta), `\$`(eta, 3)))-3*(diff(f(eta), `\$`(eta, 2)))-eta*(diff(f(eta), `\$`(eta, 3)))-(diff(f(eta), eta))*(diff(f(eta), `\$`(eta, 2)))) = 0,           (khnf/kf+(4/3)*R)*(diff(theta(eta), `\$`(eta, 2)))/((1-phi2)*(1-phi1+phi1*rhos1*cp1/(rhosf*cpf))+phi2*rhos2*cp2/(rhosf*cpf))+S*Pr*(f(eta)*(diff(theta(eta), eta))-eta*(diff(theta(eta), eta))-gamma*(eta^2*(diff(theta(eta), `\$`(eta, 2)))-2*eta*f(eta)*(diff(theta(eta), `\$`(eta, 2)))-eta*(diff(f(eta), eta))*(diff(theta(eta), eta))+f(eta)*(diff(f(eta), eta))*(diff(theta(eta), eta))+f(eta)^2*(diff(theta(eta), `\$`(eta, 2))))) = 0: # # Define the boundary conditions. Notice that in the OPs # original definition ((D^2)(f))(0) = 0 is a a bit dumb. # Apart from anything else it could be more simply written # written as D(f)(0) = 0 # # Can only suggest that OP reads the output of these three # commands very carefully and decide which is required   BCs0:= f(0) = 0, ((D^2)(f))(0) = 0, (D(theta))(0) = 0, f(1) = 0, (D(f))(1) = 0, theta(1) = 1;   BCs1:= f(0) = 0, D(f)(0) = 0, D(theta)(0) = 0, f(1) = 0, D(f)(1) = 0, theta(1) = 1;   BCs2:= f(0) = 0, D[1,1](f)(0) = 0, D(theta)(0) = 0, f(1) = 0, D(f)(1) = 0, theta(1) = 1;
 (1)
 > # # Since I don't think the first set of BCs above is plausible # because of the existence of ((D^2)(f))(0) = 0, just solve the # system with the second and third set of boundary conditions. # Neither produces very interesting solutions #   sol1:=dsolve( [eval([ODES], params)[], BCs1], numeric);   sol2:=dsolve( [eval([ODES], params)[], BCs2], numeric);   plots:-odeplot(sol1, [[eta, f(eta)], [eta,theta(eta)]], eta=0..1, axes=boxed, color=[red,blue]);   plots:-odeplot(sol2, [[eta, f(eta)], [eta,theta(eta)]], eta=0..1, axes=boxed, color=[red,blue]);
 >
 >

confusion...

over 2D-input and 2D-math formats

Is the attached what you expected (For some reason this wont display inline  maybe the animations make the file size too big?)

anim.mw

Something like...

the attached, maybe?

 >
 >
 >
 >
 >
 >

Maybe you woud prefer the output from if...

as in

 > ifactor(725); ifactor(1125); ifactor(2048);
 (1)
 >

Use...

the randomize() command with no arguments. This resets the "seed" for Maple's random number generators, based on the system clock, so the seed will be different each time your worksheet is executed.

Without using "randomize()", you will get the same random numbers every time you execute a worksheet as you have observed. This behaviour is by design (and very useful for "debug" purposes!)

which will return the "next" line as a string in the input file.

What you want to do with this string is up to you - parse() maybe?

Since you now have a string up to a linebreak, how you "signify" the linebreaks is also up to you

Solution to your problem depends very much on how you want "linebreaks" to be signified in the output - eg a new row in a matrix?, a new entry in a table? whatever? Ypu are going to have to get a lot more specific on

• what to do with each line
• what to do with the linebreak

Still having difficulty...

Is this a 1D math input versus 2D math input issue?

See the attached for a couple of solutions in both input formats - which of these is difficult to understand?

I have taken into account the remark by CarlLove that the VectorField() command is a bit "redundant" - so, in the attached, there are execution groups which use it, and execution groups which don't - doesn't affect the answer.

Which of these don't you understand?

 >
 >
 (1)
 >
 (2)
 >
 (3)
 > G1D:= unapply         ( 'evalVF            ( VectorField              (  Gradient(z)              ),              p            )',            [z,p]          );   G1D( g, <1,1,1> );
 (4)
 > G1D:= unapply         ( 'evalVF           (  Gradient(z),              p           )',           [z,p]         );   G1D( g, <1,1,1> );
 (5)
 >

Some issues...

1. You had a couple of typos where you had written, for example,  diff*(v(z),z), rather than diff(v(z),z)
2. Why are you using pdsolve() to solve a system of ODEs??? Changed this to dsolve().

Maple now reports no errors, although it does not povide a solution. You may have to consider generating a 'numerical' solutiion.

See the attache

 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 (1)
 >
 >
 (2)
 >
 >
 (3)
 >
 >
 (4)
 >
 >
 (5)
 >
 >
 (6)
 >
 >
 (7)
 >
 >
 (8)
 >
 >
 (9)
 >
 >
 (10)
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 (11)
 >
 (12)
 >

d

I'm with vv...

Just cheat using the 'view' option, whihc I have (sort of) generalized in the attached

 > restart;   xlim:=10:   ylim:=10:   expr:=4*x^2+9*y^2:   plot3d( expr,           x=-xlim..xlim,           y=-ylim..ylim,           view=[ -xlim..xlim,                  -ylim..ylim,                   0..min( [ eval(expr,[x=0, y=ylim]),                             eval(expr,[y=0, x=xlim])                           ]                         )                ],          style=surface,          colorscheme=["zcoloring", z->z]        );
 >

From the coords help page...

The a, b, and c values in the above coordinate transformations can be given using the coordinate specification as a function, e.g., conical(a,b) or ellcylindrical(2). The values a, b, and c if necessary, should be specified.  If not specified, the default values used are a = 1, b = 1/2, and c = 1/3.

The toolbar on a Maple help page has navigation icons at the top left. The second thrid and fourth buttons (from the left) will allow you to navigate backwards, forwards, or upwards to the parent topic.

Are you suggesting that these buttons don't work?

Also not clear what your problem is in creating a "function". See the attached for a "toy" example

 > restart;   alias(SVC=Student[VectorCalculus]): # # Define a function which takes an expression and a point. # It creates a vector field from the gradient of the # supplied expression and then evaluates the vector field # at the supplied point #   f:= (z,p)-> SVC:-evalVF               ( SVC:-VectorField                 (  SVC:-Gradient(z)                 ),                 p               );  f( exp(x*y^3*z^2), <1,1,1> );
 (1)
 >
 >