Items tagged with fsolve

Hello everyone,

I have 5 equations (fa,fb,fc,fk,fv) and 5 variables (V0,A0,A1,A2,k1) and I want to solve them numerically. Problem is my inability to set properly intervals and starting values. 

Here is my command: fsolve({fa,fb,fc,fk,fv},{V0,A0,A1,A2,k1});

If I run it just like this, I get some values, lets say V0=0.00045 etc.But when I set range for V0 like this:


I get this:

Error, (in fsolve) fsolve cannot solve on V0 = 0.4e-3 .. 0.5e-3

I used interval 0.0004..0.0005 only to prove that there must be the wrong syntax, because obviously 0.0004<0.00045<0.0005. In reality i need interval 0.0001..0.0002 and it is also set some initial values (A0=0.0023) but first I need to solve my problem with syntax.

Any advice ?

It is well known that fsolve usually increases (internally) Digits in order to obtain the desired accuracy.

But in the following example, it seems that fsolve highly exaggerates :-)   


Error, (in fsolve) Digits cannot exceed 38654705646

Note that the bug does not appear if e.g. F:=expand(mul(x-k-I, k=1..N)):



I solve a set of equations in this way and I have three set of answers ,but I don`t know wich one is true.

and I have another question ,how can I assume v[0] like a constant?


alpha[2]:= 2.727272728*10^5: alpha[4]:= 3738.685337: alpha[6]:= -30.18675539: alpha[7] := -4.116375735*10^6: alpha[8] := 1.859504132*10^10: alpha[9]:= 2.489142857*10^(-12):

l10:=(alpha[7]*v[0]^2+1)*gamma[i*n]^4+(-alpha[4]*beta[n]^2+alpha[8]*v[0]^2-alpha[9])*gamma[i*n]^2+(2*I)*gamma[i*n]*alpha[2]*beta[n]*v[0]+(2*I)*gamma[i*n]^3*alpha[6]*beta[n]*v[0]-beta[n]^2 = 0:

l11 := subs(i = 1, l10);

l12 := subs(i = 2, l10);

l13 := subs(i = 3, l10);

l14 := subs(i = 4, l10);

l15 := (exp(I*(gamma[n]+gamma[2*n]))+exp(I*(gamma[3*n]+gamma[4*n])))*(gamma[3*n]^2-gamma[4*n]^2)*(gamma[n]^2-gamma[2*n]^2)+(exp(I*(gamma[n]+gamma[4*n]))+exp(I*(gamma[2*n]+gamma[3*n])))*(gamma[2*n]^2-gamma[3*n]^2)*(gamma[n]^2-gamma[4*n]^2)+(exp(I*(gamma[2*n]+gamma[4*n]))+exp(I*(gamma[n]+gamma[3*n])))*(gamma[2*n]^2-gamma[4*n]^2)*(-gamma[n]^2+gamma[3*n]^2) = 0;

l1 := combine(expand(evalc(l15)), trig):

l2 := combine(expand(evalc(Re(l15))), trig):

l3 := combine(expand(evalc(Im(l15))), trig): v[0] := 1; 1

fsolve({l1, l11, l12, l13, l14}, {beta[n], gamma[n], gamma[2*n], gamma[3*n], gamma[4*n]}):

fsolve({l11, l12, l13, l14, l2}):

solve({l11, l12, l13, l14, l3}):



Here is one that the students generated which caused confusion. 

a := 0.76;
eq1 := 2*cot(a*sqrt(2*E)) = (2*E-5.4)/(sqrt(E*(5.4-E));
solve(eq1, E)

And the results are: 0., 4.411954070, 2.423743792

The problem is with the second answer because it does not exist. If we plot the LHS and the RHS of eq1 vs E where E=0..5.4

plot([2*cot(0.76*sqrt(2*E)), (2*E-5.4)/sqrt(E*(5.4-E))], E=0..5.4, -3..3)

And it gets more interesting, if we calculate:

solve(evalf(eq1), E)

The answers are: 0., 2.423743793, 14.33807304+27.39159712*I

where the 3rd answer is again incorrect.

Finally, if a = 0.8 or larger, the incorrect answers disappear. 

Note - fsolve does handle this problem correctly. And despite my attempts to remind them to use fsolve, they see the solve command as the universal truth. Apparently this will be another teaching moment for next year.

So any thoughts about why this happens and why there is a difference in the outcomes between 0.76 and 0.8 for the value of a?


hi .how i can fsolve 8 equations, in which obtained from

for k from 2 to m do eq1[k_] end do


for k from 2 to m do eq2[k_] end do  and so on........

And gain unknown functions as f3[2], f4[4],....



 ############################Define some parameters


restart; Digits := 15; n := 1; m := 3; len := 1; h := len/m; nn := m+1
 ############################Define some equation

eq1[k_] := -3.0*h*(-f2[k]*f1[k-1]+f2[k]*f1[k+1]+f1[k]*(-f2[k+1]+f2[k-1]))*f4[k]^2+((-8.0*f1[k]+4.0*f1[k-1]+4.0*f1[k+1])*f3[k]+(-f1[k+1]+f1[k-1])*(-f3[k+1]+f3[k-1]))*f4[k]-f3[k]*(-f1[k+1]+f1[k-1])*(-f4[k+1]+f4[k-1]):





                                     ######################################  APPLY BOUNDARY CONDITIONS

f2[0] := f2[2];



``for k from 2 to m do eq1[k_] end do



for k from 2 to m do eq2[k_] end do



for k from 2 to m do eq3[k_] end do



for k from 2 to m do eq4[k_] end do





Download i can solve or fsolve this equations?

i can not with fsolve?

thanks alot

Maple Worksheet - Error

Failed to load the worksheet /maplenet/convert/ .




I have just started using Maple, and it seems very powerful. I am trying to solve trigonometric equations and get all the solutions in a range, but when I use fsolve I only get one solution. 

Is this by design of the function or is there another way to do this? 



i need to find the graph of exp(v(r)) from 0 to 2e6.

i obtained the graph of v(r) by taking log but how to obtained in exp form


I can't make maple solve this equation, any help please


please help me for fsolve algebric equations...






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:





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


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):





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



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



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



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







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











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})



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?



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}


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.



I have a function:

v0(t) = -g*t-vs*ln(r*t-m0)+vs*ln(-m0)

This function should be equal to 300, but when using fsolve we get a negative real part, and a very small imaginary part:

We have already made a plot of the function, and from that we see that the t should be about 65 when v0(t)= 300.


What are we doing wrong?

Is there a way to extract the data from the graph?

Very new to using Maple or coding in general. Ran into a problem that I couldn't figure it out.

Any help would be greatly appreciated.

I have a problem integrating a solution from fsolve.   I read in another post on this forum that the solution was to use unapply.   This works if I then set up the integration as suggested (i.e., without giving the argument to the function), but not if you do it in a way that seems logical to me (i.e.,the first version of the int command marked ‘fails’ below.   if you can plot a function why can’t you integrate it ?).  

Anyway the real problem I have is if I want to use the solution found using fsolve as the argument of another function (h below) and then integrate that.  I assume the final line fails because of the same reason the initial attempt to integrate g(x) fails. However, I can’t figure out what the equivalent notation would be if I wanted to omit the ‘x’ variable.   I tried using unapply again, and also putting in quotes, but nothing works.

> restart;

> g:=unapply('fsolve(a*y^2-sin(y),y=2)',a);

> plot('g(x)',x=1..2);

> evalf(Int('g(x)',x=1..2));#this fails

> evalf(Int(g,1..2));#this works fine

> h:=x->x*sin(x);

> h(g(1.0));

> h(g(2.0));

> evalf(Int(h(g(x)),x=1..2));# this fails

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