MaplePrimes Questions

I'd like to bring up all the Maple 2016 applications from the application center.

How do I do that?

Dear all,

I would like to ask you to help me with the following problem that I got error.

Thanks in advance

 

restart; Shootlib := "C:/Shoot9"; libname := Shootlib, libname; with(Shoot);
with(plots);
N1 := 1; N3 := .5; N2 := 5; Bt := 6; AA := N1*Bt; gamma1 := .2; blt1 := 1;
FNS := {f(eta), fp(eta), fpp(eta), g(eta), gp(eta), h(eta), hp(eta), i(eta), ip(eta), fppp(eta)};
ODE := {diff(f(eta), eta) = fp(eta), diff(fp(eta), eta) = fpp(eta), diff(fpp(eta), eta) = fppp(eta), diff(g(eta), eta) = gp(eta), diff(gp(eta), eta) = N1*(2*g(eta)+eta*gp(eta)+2*g(eta)*fp(eta)-2*f(eta)*gp(eta)+2*N2*N3*(h(eta)*ip(eta)-i(eta)*hp(eta))), diff(h(eta), eta) = hp(eta), diff(hp(eta), eta) = AA*(h(eta)+eta*hp(eta)-2*f(eta)*hp(eta)+2*h(eta)*fp(eta)), diff(i(eta), eta) = ip(eta), diff(ip(eta), eta) = AA*(2*i(eta)+eta*ip(eta)-2*f(eta)*ip(eta)+2*N2*h(eta)*gp(eta)/N3), diff(fppp(eta), eta) = N1*(3*fpp(eta)+(eta-2*f(eta))*fppp(eta)-(2*N2*N2)*(diff(hp(eta), eta)))};
IC := {f(0) = 0, fp(0) = gamma1*fpp(0), g(0) = 1+gamma1*gp(0), gp(0) = beta, h(0) = 0, hp(0) = beta1, i(0) = 0, ip(0) = beta2, fppp(0) = alpha};
BC1 := {f(blt1) = .5, fp(blt1) = gamma1*fpp(blt1), g(blt1) = gamma1*gp(blt1), h(blt1) = 1, i(blt1) = 1};
infolevel[shoot] := 1;
S := shoot(ODE, IC, BC1, FNS, [alpha = .1, beta = .2, beta1 = .3, beta2 = .4], maxfun = 50000);
 

Hello people in mapleprimes,
I want to collect
aa:=sigma*omega*alpha = mu(H, H)*s*omega*gamma*L+omega^(-sigma+1)*tau*mu(F, F)*s*L-omega^(-sigma+1)*tau*mu(F, F)*s*L*gamma;
with omega^(-sigma+1);

I know that the above expression could be collected with tau, which
produces the same expression as the one collected with omega^(-sigma).
And, in collecting with omega^(-sigma+1), I know that freeze-thaw could be used.

But, I want to know another way to do the same thing, using frontend or 
subsindets. Is this possible?

Thanks in advance.

taro
 


To summarize,

dsolve numeric parametric form gives wrong answers when fdiff is used to calculate the Hessian. Doing dsolve twice gives the correct answer. Hope I am not making syntax or programming errors.

Also, fdiff is not compatible with vector form.

restart;

Digits:=15;

Digits := 15

(1)

sys:=diff(y1(t),t)=-(u+u^2/2)*y1(t),diff(y2(t),t)=u*y1(t);

sys := diff(y1(t), t) = -(u+(1/2)*(u^2))*y1(t), diff(y2(t), t) = u*y1(t)

(2)

 The system is solved with initial conditions 1,0 and value of u being equal to u1 for t<=0.5, and u2 for t>0.5. The objective is y2 at t =1. There are errors when Hessian is calculated using parametric dsolve and fdiff

sol1 := dsolve({sys, y1(0) = alpha, y2(0) = beta}, type = numeric, 'parameters' = [alpha, beta, u],maxfun=0,range=0..0.5):

obj1:=proc(u1,u2)
local z1,s1,s2,z2;
global sol1;
sol1('parameters'=[1,0,u1]);
z1 := sol1(.5);
s1:=subs(z1,y1(t));
s2:=subs(z1,y2(t));
sol1('parameters'=[s1,s2,u2]):
z2:=sol1(0.5);
-subs(z2,y2(t));
end proc;

obj1 := proc (u1, u2) local z1, s1, s2, z2; global sol1; sol1('parameters' = [1, 0, u1]); z1 := sol1(.5); s1 := subs(z1, y1(t)); s2 := subs(z1, y2(t)); sol1('parameters' = [s1, s2, u2]); z2 := sol1(.5); -subs(z2, y2(t)) end proc

(3)

u0:=[0.8,1.8];

u0 := [.8, 1.8]

(4)

obj1(op(u0));

-.552540796143903

(5)

Hess1:=Matrix(2,2):for i from 1 to 2 do for j from 1 to 2 do Hess1[i,j]:=fdiff(obj1,[i,j],u0,workprec=1.0);od;od;Hess1;

Matrix(2, 2, {(1, 1) = 115.470000000000, (1, 2) = -1.11000000000000, (2, 1) = -1.11000000000000, (2, 2) = 2.22000000000000})

(6)

 Hessian is wrong. It should be noted that when dsolve is called twice inside the objective function there is no error in Hessian calculation with fdiff. The parametric dsolve is efficient, how to get correct answers with that? Another question is how to use fdiff with vector form instead u1,u2 etc to make it generic for any number of variables?

obj2:=proc(u1,u2)
local z1,s1,s2,z2,sol2;
sol2:=dsolve({op(subs(u=u1,[sys])), y1(0) = 1, y2(0) = 0}, type = numeric,maxfun=0,range=0..0.5);
z1 := sol2(.5);
s1:=subs(z1,y1(t));
s2:=subs(z1,y2(t));
sol2:=dsolve({op(subs(u=u2,[sys])), y1(0) = s1, y2(0) = s2}, type = numeric,maxfun=0,range=0..0.5):
z2:=sol2(0.5);
-subs(z2,y2(t));
end proc;

obj2 := proc (u1, u2) local z1, s1, s2, z2, sol2; sol2 := dsolve({op(subs(u = u1, [sys])), y1(0) = 1, y2(0) = 0}, type = numeric, maxfun = 0, range = 0 .. .5); z1 := sol2(.5); s1 := subs(z1, y1(t)); s2 := subs(z1, y2(t)); sol2 := dsolve({op(subs(u = u2, [sys])), y1(0) = s1, y2(0) = s2}, type = numeric, maxfun = 0, range = 0 .. .5); z2 := sol2(.5); -subs(z2, y2(t)) end proc

(7)

obj2(op(u0));

-.552540796143903

(8)

Hess2:=Matrix(2,2):for i from 1 to 2 do for j from 1 to 2 do Hess2[i,j]:=fdiff(obj2,[i,j],u0,workprec=1.0);od;od;Hess2;

Matrix(2, 2, {(1, 1) = .234295697631809, (1, 2) = 0.101868715004724e-1, (2, 1) = 0.101868715004724e-1, (2, 2) = 0.853480932660994e-1})

(9)

 Doing dsolve twice gives correct answer compared to one parametric dsolve even though objective returns the same number (even gradient returns the expected answers).


 

Download Bugindsolveorfdiff.mws

hi

please help me for fsolve algebric equations...

thanks

AGM.mw
 

restart:

F(eta):=sum(a[i]*eta^i,i=0..5):

theta(eta):=sum(b[i]*eta^i,i=0..5):K(eta):=sum(c[i]*eta^i,i=0..5):Omega(eta):=sum(d[i]*eta^i,i=0..5):

``

U1:=diff(theta(eta), eta, eta)-3*Omega(eta)*(F(eta)*(diff(theta(eta), eta))-theta(eta)*(diff(F(eta), eta)))/(2*K(eta))+((diff(K(eta), eta))/K(eta)-(diff(Omega(eta), eta))/Omega(eta))*(diff(theta(eta), eta)) = 0:U2:= diff(F(eta), eta, eta, eta)+Omega(eta)*(3*F(eta)*(diff(F(eta), eta, eta))-(diff(F(eta), eta))^2)/(2*K(eta))+((diff(K(eta), eta))/K(eta)-(diff(Omega(eta), eta))/Omega(eta))*(diff(F(eta), eta, eta))+Omega(eta)/K(eta) = 0:U3:= diff(K(eta), eta, eta)+Omega(eta)*(1.5*F(eta)*(diff(K(eta), eta))-K(eta)*(diff(F(eta), eta)))/K(eta)+((diff(K(eta), eta))/K(eta)-(diff(Omega(eta), eta))/Omega(eta))*(diff(K(eta), eta))+(diff(F(eta), eta, eta))^2-Omega(eta)^2 = 0:U4:= diff(Omega(eta), eta, eta)+Omega(eta)*(3*F(eta)*(diff(Omega(eta), eta))+Omega(eta)*(diff(F(eta), eta)))/(2*K(eta))+((diff(K(eta), eta))/K(eta)-(diff(Omega(eta), eta))/Omega(eta))*(diff(Omega(eta), eta))+Omega(eta)*(diff(F(eta), eta, eta))^2/K(eta)-Omega(eta)^3/K(eta) = 0:

F(eta):=unapply(F(eta),eta):

theta(eta):=unapply(theta(eta),eta):K(eta):=unapply(K(eta),eta):Omega(eta):=unapply(Omega(eta),eta):

U1:=unapply(U1,eta):U2:=unapply(U2,eta):U3:=unapply(U3,eta):U4:=unapply(U4,eta):

 

s1:=F(eta)(0) = 0:

s2:=K(eta)(0) = 0:s3:=Omega(eta)(0) = 0:s4:=theta(eta)(0) = 1:s5:=theta(eta)(1) = 0:s6:=(D(F(eta)))(0) = 0:s7:=(D(K(eta)))(1) = 0:s8:=(D(Omega(eta)))(1) = 0:s9:=((D@@2)(F(eta)))(1) = 0

20*a[5]+12*a[4]+6*a[3]+2*a[2] = 0

(1)

s10:=U1(0):s11:=U2(0):s12:=U3(0):s13:=U4(0):        s14:=U1(1):s15:=U2(1):s16:=U3(1):s17:=U4(1):    s18:=D(U1)(0):s19:=D(U2)(0):s20:=D(U3)(0):s21:=D(U4)(0):     s22:=D(U1)(1):s23:=D(U2)(1):s24:=D(U3)(1):

 

 

Q:=fsolve([s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22,s23,s24],{a[0],a[1],a[2],a[3],a[4],a[5],b[0],b[1],b[2],b[3],b[4],b[5],c[0],c[1],c[2],c[3],c[4],c[5],d[0],d[1],d[2],d[3],d[4],d[5]}):

F(eta):=eval(sum(a[i]*eta^i,i=0..5),Q):

Error, invalid input: eval received S, which is not valid for its 2nd argument, eqns

 

theta(eta):=eval(sum(b[i]*eta^i,i=0..5),Q):K(eta):=eval(sum(c[i]*eta^i,i=0..5),Q):Omega(eta):=eval(sum(d[i]*eta^i,i=0..5),Q):

Error, invalid input: eval received S, which is not valid for its 2nd argument, eqns

 

plot(g(x),x=0..1,axes=boxed,color=green,thickness=2,labels=[x,g]):

Warning, unable to evaluate the function to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct

 

plot(f(x),x=0..1,axes=boxed,color=blue,thickness=2,labels=[x,f]):

Warning, unable to evaluate the function to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct

 

 


 

Download AGM.mw

 

I consider  100 .100 real matrices A,B=Matrix(100,100,(i,j)->rand()) (with 12 significant digits).  In general, ConditionNumber(A) is <10^5; also I choose Digits:=17.Theoretically, the complexity of the calculations of Determinant(A), CharacteristicPolynomial(A,x), A.B and MatrixInverse(A) are similar (~n^3). Yet, the times of these calculations are respectively: 0"13, 0"67, 0"60 and, what surprises me, 75" (moreover, I don't display any result).

My question: concerning the calculation of the inverse, where does this factor 100 come from ? Would Matlab  be 100 times faster ? I do not see why this would be the case; in particular, the standard methods for the calculation of the inverse are  easily programmable.

Thanks in advance.

 


 

T := proc (t) options operator, arrow; 80+(-1)*1.4375*53*(1-exp((-1)*0.13775e-1*2.875*k*h__1*h__2*t/(1.4375^2*4190*(k*(h__1+h__2)+0.1e-2*h__1*h__2))))/2.875 end proc

proc (t) options operator, arrow; 80+(-1)*1.4375*53*(1-exp((-1)*0.13775e-1*2.875*k*h__1*h__2*t/((1.4375^2*4190*(k*(h__1+h__2)+0.1e-2*h__1*h__2)))))/2.875 end proc

(1)

T(204.39)

53.50000000+26.50000000*exp(-8.094482719*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2))

(2)

T(429.63)

53.50000000+26.50000000*exp(-17.01469059*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2))

(3)

T(872.5)

53.50000000+26.50000000*exp(-34.55372656*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2))

(4)

fsolve({53.50000000+26.50000000*exp(-34.55372656*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2)) = 56.15, 53.50000000+26.50000000*exp(-17.01469059*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2)) = 64.1, 53.50000000+26.50000000*exp(-8.094482719*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2)) = 72.05}, {h__1 = 0 .. 1000, h__2 = 0 .. 1000, k = 0 .. 1000})

fsolve({53.50000000+26.50000000*exp(-34.55372656*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2)) = 56.15, 53.50000000+26.50000000*exp(-17.01469059*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2)) = 64.1, 53.50000000+26.50000000*exp(-8.094482719*k*h__1*h__2/(8658.242188*k*(h__1+h__2)+8.658242188*h__1*h__2)) = 72.05}, {h__1, h__2, k}, {h__1 = 0 .. 1000, h__2 = 0 .. 1000, k = 0 .. 1000})

(5)

``

it would be great if you could explain me why maple cant numerically solve this set of 3 ecuatios for h1, h2, k being my unknows terms, it works with an exponential function. there is a way to solve it?

thanks..
 

Download heat_ecuation.mw

I have code 
with(plots);

implicitplot3d((r*sin(theta)*cos(phi))^2+(r*sin(theta)*sin(phi))^2+(r*cos(theta))^2=36,r=-3..3, phi=0..2*Pi,theta=0..Pi,coords=spherical);

How can I fix the code to display the picture

How to plot f(x)=x in the interval -2<x<2 with a period 4?

The plot should look like this

Hello,
How do i generate 4d plot of f(x,y,z)=1 is it possible made it in 3d?

So I am trying to find the structure of a material from x-ray diffraction data. To accomplish this I have to solve a system of nonlinear equations. Since there is some unaccuracy in the measurements I wanted to use a numerical tool, so I am trying to solve using fsolve. To check that I am doing this correctly I am trying to solve a set of similar equations where I know the solution. My code is shown below.

eqs := {(2^2/a^2+2^2/c^2-2*(2*2)*cos(x)/(a*c))/sin(x)^2 = 1/2.2393^2, (2^2/a^2+4^2/c^2+4*(2*2)*cos(x)/(a*c))/sin(x)^2 = 1/1.5968^2, (1^2/a^2+sin(x)^2/b^2+2^2/c^2+(2*2)*cos(x)/(a*c))/sin(x)^2 = 1/2.7896^2, 1/sin(x)^2*(2^2*sin(x)^2/b^2) = 1/2.8650^2}

fsolve(eqs)

For this system I know that a = 5.44 b = 5.73 c = 7.89 x=pi/2, but fsolve only returns the input.

Am I doing something wrong or should I use a different function? I am quite new to Maple, so have some patience with me.

Thanks in advance.

Hello! Prompt please as in Maple can determine the distribution function of the resulting histogram distribution? I know about cdf function, but how to act in relation to the histogram do not know.

Histogram:

restart;
with(stats);
with(stats[statplots]);
data2 := [30, 30.5, 31, 31.5, 32, 32.5, 32.6, 33, 33.1, 33.3, 33.6, 34, 35, 36];
histogram(data2, area = count);

In other words, I need smoothing the histogram, get graph and get on it to obtain an analytical expression.

Aslam o Alikum!

Hope everyone going fine with sound health I want to make the graph of following system of ODEs

Eq1 := diff(F(eta), eta, eta, eta, eta)-M*(eta*(diff(F(eta), eta, eta, eta))+3*(diff(F(eta), eta, eta))+(diff(F(eta), eta))*(diff(F(eta), eta, eta))-F(eta)*(diff(F(eta), eta, eta, eta)))-Ha^2*(diff(F(eta), eta, eta));
Eq2 := diff(G(eta), eta, eta)+Pr*M*(F(eta)*(diff(G(eta), eta))-eta*(diff(G(eta), eta)))+Pr*Ec*(diff(F(eta), eta, eta))^2+Nb*(diff(H(eta), eta))+diff(G(eta), eta)+Nt*(diff(G(eta), eta))^2;
Eq3 := diff(H(eta), eta, eta)+M*Sc*(F(eta)*(diff(H(eta), eta))-eta*(diff(H(eta), eta)))+Nt*(diff(F(eta), eta, eta))/Nb;
 

using the BC's

IC1 := F(0) = 0, ((D@@2)(F))(0) = 0, (D(G))(0) = 0, (D(H))(0) = 0;
     F(0) = 0, @@(D, 2)(F)(0) = 0, D(G)(0) = 0, D(H)(0) = 0
IC2 := F(1) = 1, (D(F))(1) = 0, G(1) = 1, H(1) = 1;
 

for Ec := .1; Nt := .1; Nb := .1; Sc := .5; Pr := 10; M := .5; and different values of Ha like Ha:=0, Ha:=2, Ha:=4, Ha:=6 and Ha:=8 in one coordinate. 

I am waiting your positive response.


Hello all, first time posting on here so if I make any mistakes please let me know. So I have created a function called "g" and plotted it on a graph. After looking at the two graphs I have plotted (one with discont=false and one with discont=true), I can see 3 discontinuities are present. However, attempting to solve for these discontinuities by setting the denominator of "g" = 0 only returns 1 of the points. I'm not sure why this is happening and how would I go by solving for the other 2 points? Thank you.

f := exp(x-188.5)-4*x^2+1507.964*x-142122.3+cos(x)^2;

exp(x-188.5)-4*x^2+1507.964*x-142122.3+cos(x)^2

(1)

g := (-f+x^2-376.991*x+35530.6)/(f+x^2-376.991*x+35530.6);

(-exp(x-188.5)+5*x^2-1884.955*x+177652.9-cos(x)^2)/(exp(x-188.5)-3*x^2+1130.973*x-106591.7+cos(x)^2)

(2)

``

plot(g, x = 186 .. 194, y = -25 .. 25,discont=false)

 

plot(g, x = 186 .. 194, y = -25 .. 25,discont=true)

 

vasymp := fsolve( denom(g)=0);

192.2026966

(3)

``

Dear all,

My script has multiple animations, in which the range of the variable is larger then I wish to see. Therefore, I have used the view=[x1..x2,y1..y2] command, which has different values for every plot. Plotted seperately, this gives me exactly what I want. However, if I combine the plots using display(A,B,C) they loose their individual views. Instead, maple chooses the view of plot A, and plots B an C in the range defined by view A. 

Is there a way to combine plots and still maintain individual views, within the largest view?

Kind regards,
Bastiaan Overdorp

First 1055 1056 1057 1058 1059 1060 1061 Last Page 1057 of 2429