Rookieplayer

25 Reputation

3 Badges

4 years, 98 days

MaplePrimes Activity


These are questions asked by Rookieplayer

Is there any way to use DIFF for the function formula in IF..THEN..?

g := proc(x) if x <= 0 then x^2 + x; else if x < 3*Pi then sin(x); else x^2 - 6*x*Pi + 9*Pi^2 - x + 3*Pi; end if; end if; end proc;

diff(g, x);
                              

Like the above example, but the diff result is 0.....

As the title, who can help me fix the problem like this

theta:= diff(arctan(y,x)):

W:= piecewise(

         theta>-Pi/2 and theta< -Pi/2+10, 1+A+B*cos(theta),

         theta>-Pi/2+10 and theta< Pi/2-10. 1-A+B*cos(thea)); 

there always plotout the undefined when acrtan(y,x)=Pi/2,

How can I ignore this undefined or define another value for W when acrtan(y,x)=Pi/2

When I use piecewise like this

W :=piecewise(beta>=-Pi/2 and beta<=-Pi/2+Pi/200,1+eps/sin(Pi/200)+eps*cos(Pi/200)/sin(Pi/200)*sin(beta),
     
beta>=-Pi/2+Pi/200 and beta<=Pi/2,1+eps/sin(Pi/200)-eps*cos(Pi/200)/sin(Pi/200)*sin(beta),
      1+eps*(1+cos(beta)));

 

and eval the beta as following,

G:= eval(R,beta=(arctan(diff(f(x,y),y), diff(f(x,y),x))));

the calculation does not run well...because of the undefined

[[-eps sin(t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))),t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))<-Pi/2],[undefined,t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))=-Pi/2],[(eps cos(Pi/200) cos(t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))))/(sin(Pi/200)),t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))<-(99 Pi)/200],[undefined,t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))=-(99 Pi)/200],[-(eps cos(Pi/200) cos(t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))))/(sin(Pi/200)),t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))<Pi/2],[undefined,t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))=Pi/2],[-eps sin(t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))),Pi/2<t_atan2((&PartialD;)/(&PartialD;y) pho(x,y),(&PartialD;)/(&PartialD;x) pho(x,y))]]

Finally, when W is brought into the following formula for calculation, 

R:=   
-M*ElementInt( test(x,y)*((1-co(x,y))*Ha+co(x,y)*Hb))
     +M*ElementInt( test(x,y)*noise)
+M*gamma*(-ElementInt( W^2*( nab(test(x,y))[i] &t nab(f(x,y))[i])))
              +ElementInt( diff(W^2,beta)/2 * ( diff(test(x,y),x)*diff(f(x,y),y)
              -diff(test(x,y),y)*diff(f(x,y),x))):

 

the following error message will appear.

Error: Division by zero at (1)

 

I mentioned a similar problem just recently, but after two days of continuous attempts, I couldn't find a solution.
Look forward to receiving a reply.......

I am a student who is learning to use Maple to perform numerical analysis of phase field. There has been no solution to the problem of high anisotropy. The reference code is as follows

W :=piecewise(beta>=Pi/2+thetaM and beta<=Pi-thetaM, 1+eps*cos(4*beta), 
       beta>=Pi/2-thetaM and beta<=Pi/2+thetaM, (1+esp*cos(4*thetaM))/cos(thetaM)*cos(4*beta));

 

However, there is no problem at all when simply performing the following settings.

W := 1+ eps*cos(4*beta);

Please tell me how to write such a conditional maple statement. I have referenced many examples on the official website, but none of them succeeded. This includes writing the code in the following form.

W :=betta->piecewise(beta>=Pi/2+thetaM and beta<=Pi-thetaM, 1+eps*cos(4*beta), 
       beta>=Pi/2-thetaM and beta<=Pi/2+thetaM, (1+esp*cos(4*thetaM))/cos(thetaM)*cos(4*beta));

Remarks, beta is an angle, set as follows.

subs(beta=t_atan2(diff(pho(x,y),y), diff(pho(x,y),x))

 


 

Page 1 of 1