Borrar filtros
Borrar filtros

bisection method code help

2 visualizaciones (últimos 30 días)
Angelina Encinias
Angelina Encinias el 30 de Ag. de 2022
Comentada: Angelina Encinias el 31 de Ag. de 2022
function root=bisection(func,x1,xu)
xr=x1;es=.0001;
while(1)
xrold=xr;
xr=(x1+xu)/2;
if xr~=0
ea=abs((xr-xrold)/xr)*100;
else
ea=100;
end
if func(x1)*func(xr)<0
xu=xr;
elseif func(x1)*func(xr)>0
x1=xr;
else
ea=0;
end
if ea<=es,break,end
end
root=xr;
end
  2 comentarios
Steven Lord
Steven Lord el 30 de Ag. de 2022
What is your question or concern about the code you've posted and the text of (what appears to be) a homework problem?
Angelina Encinias
Angelina Encinias el 31 de Ag. de 2022
What do I need to change to the code to fit the problem?

Iniciar sesión para comentar.

Respuestas (1)

Sam Chak
Sam Chak el 31 de Ag. de 2022
I did not change anything. The bisection code works for a simple test below to find :
fcn = @(x) sin(x) - 0.5; % if the equation is f(x) = g(x), then enter f(x) - g(x)
xL = 0; % lower bound
xU = pi/2; % upper bound
x = bisection(fcn, xL, xU);
x_deg = x*180/pi % solution in degree
x_deg = 30.0000
function root=bisection(func,x1,xu)
xr=x1;es=.0001;
while(1)
xrold=xr;
xr=(x1+xu)/2;
if xr~=0
ea=abs((xr-xrold)/xr)*100;
else
ea=100;
end
if func(x1)*func(xr)<0
xu=xr;
elseif func(x1)*func(xr)>0
x1=xr;
else
ea=0;
end
if ea<=es,break,end
end
root=xr;
end
  1 comentario
Angelina Encinias
Angelina Encinias el 31 de Ag. de 2022
Okay. Is this for my question above? I dont see anything about angles for this question.

Iniciar sesión para comentar.

Categorías

Más información sobre Spline Postprocessing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by