Help to solv a equation with iteration

5 visualizaciones (últimos 30 días)
Claus Madsen
Claus Madsen el 8 de Mzo. de 2013
I need help, how do i make a code in matlab for iterate the following eq:
x=0.46-0.5*cos(3.14*(y/d))+0.004*cos(2*3.14*(y/d))
where y is the only unknown constant? i know the value of x and d.

Respuesta aceptada

Youssef  Khmou
Youssef Khmou el 9 de Mzo. de 2013
hi Clauss,
there are many ways to solve the equation, but with iterations i have few ideas : there is a method called Bisection :
d=1.3; % I SUPPOSED d=1.3
f=@(y) 0.46-0.5*cos(3.14*(y/d))+0.004*cos(2*3.14*(y/d))
format long
eps_abs = 1e-5;
eps_step = 1e-5;
a = 70.0; % Initial Guess to your function such that f(a)>0.
b = 78.0; % Initial Guess to your function such that f(b)<0.
while (b - a >= eps_step || ( abs( f(a) ) >= eps_abs && abs( f(b) ) >= eps_abs ) )
c = (a + b)/2;
if ( f(c) == 0 )
break;
elseif ( f(a)*f(c) < 0 )
b = c;
else
a = c;
end
end
  2 comentarios
Claus Madsen
Claus Madsen el 10 de Mzo. de 2013
Editada: Claus Madsen el 10 de Mzo. de 2013
thanks for the answer. Im quit new in matlab, is this the most simple way to iterate? And it do not work if i change the value of d?
Claus Madsen
Claus Madsen el 10 de Mzo. de 2013
From what i can understand this solve the eq for f(c)=0 but as i wrote in my problem, i know what x is, and its not 0 but 0.2?

Iniciar sesión para comentar.

Más respuestas (1)

Roger Stafford
Roger Stafford el 9 de Mzo. de 2013
Editada: Roger Stafford el 9 de Mzo. de 2013
You can solve that equation without doing any iteration, Claus. Using the formula
cos(2*A) = 2*cos(A)^2-1
your equation is equivalent to
.008*cos(3.14*y/d)^2-.5*cos(3.14*y/d)+.456-x = 0
and this is a quadratic equation in cos(3.14*y/d) which you can solve for. You will then have the unknown y expressed as d/3.14 times the arccosine of the two possible roots of this quadratic. (I presume 3.14 is your approximation for pi.) Provided either of these roots lie between -1 and +1, this will give you an infinite number of possible real-valued solutions for y.

Categorías

Más información sobre Systems of Nonlinear Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by