Question
the goal is to enter the beginning and end of the interval and return the root

Extra: Can a function return a sentence with the calculated value and the iterations?


function raiz=biseccion(xa,xb)

clear all; close all; clc;

%Método de bisección

f=inline('cos(x.^2+1)./(x+1)','x');; % Resuma lo que se hacen en estas líneas
ezplot(f); grid on; hold all; %Grafica la funcion f
%Define el punto inicial y final del intervalo   
xk =[]; %
epsilon = 10^(-4); %
n=0;   
while (abs(xa-xb)>=epsilon || n~=350) %Si la distancia entre los 2 puntos es mayor a epsilon se ejecuta las instrucciones.Se compara con un valor muy pequeño tal que la distancia entre los puntos sea muy pequeña, lo que implica una mejor aproximacion
plot([xa,xb],f([xa,xb]),'*k'); %Se ingresan todos los puntos contenidos en el intervalo [xa,xb] y se evaluan en la funcion
xr=(xa+xb)/2; %Define el punto medio del intervalo
plot(xr,f(xr),'*r'); %La variable dependiente es el punto medio, el cual se evaluará en la funcion f y se marcará un asterisco rojo en la ubicacion de este en la función.
pause(1); %Se coloca pausa para que el procedimiento se detenga y evalue el if una vez finalizada la grafica anterior
if f(xa)*f(xr)<0 %Se evalua una de las posibles situaciones del método
xb=xr; %
else
xa=xr; %
end % El ciclo finaliza cuando no se cumple la condicion dle while
xk = [xk;xr] %
n= n+1
end
error=abs(f(xr)-0) %CALCULO DEL ERROR
fprintf('numero de iteraciones: %d',n);

raiz=xr;

end


El error: Ĉerror: 'xa' undefined near line 13 column 12
error: called from
biseccion at line 13 column 1
>>


grid on panto colocs pause paza que e
media%2F109%2F109e211a-8ed1-47d6-bcbd-5b
grid on panto colocs pause paza que e
0 0
Add a comment Improve this question Transcribed image text
Answer #1

% DO NOT PUT clear INSIDE THE FUNCTION

% ALSO USE AND (&&) INSTEAD OF OR (||) IN THE WHILE LOOP ELSE YOU WILL HAVE TO WAIT FOR ALL 350 ITERATIONS EVERY TIME

function raiz=biseccion(xa,xb)

%Método de bisección

f=inline('cos(x.^2+1)./(x+1)','x');; % Resuma lo que se hacen en estas líneas
ezplot(f); grid on; hold all; %Grafica la funcion f
%Define el punto inicial y final del intervalo   
xk =[]; %
epsilon = 10^(-4); %
n=0;   
while abs(xa-xb)>=epsilon && n~=350 %Si la distancia entre los 2 puntos es mayor a epsilon se ejecuta las instrucciones.Se compara con un valor muy pequeño tal que la distancia entre los puntos sea muy pequeña, lo que implica una mejor aproximacion

plot([xa,xb],f([xa,xb]),'*k'); %Se ingresan todos los puntos contenidos en el intervalo [xa,xb] y se evaluan en la funcion
xr=(xa+xb)/2; %Define el punto medio del intervalo
plot(xr,f(xr),'*r'); %La variable dependiente es el punto medio, el cual se evaluará en la funcion f y se marcará un asterisco rojo en la ubicacion de este en la función.
pause(1); %Se coloca pausa para que el procedimiento se detenga y evalue el if una vez finalizada la grafica anterior
if f(xa)*f(xr)<0 %Se evalua una de las posibles situaciones del método
xb=xr; %
else
xa=xr; %
end % El ciclo finaliza cuando no se cumple la condicion dle while
xk = [xk;xr] %
n= n+1
end
error=abs(f(xr)-0); %CALCULO DEL ERROR
raiz=xr;

fprintf('numero de iteraciones: %d, raiz: %0.4f',n,raiz);

end

>> raiz biseccion (0,2)

numero de iteraciones 15, raiz: 0.7556

cos(x+1)/(x+1) 0.5 -0.5 -1 -2 -6 -4 4

COMMENT DOWN FOR ANY QUERY RELATED TO THIS ANSWER,

IF YOU'RE SATISFIED, GIVE A THUMBS UP
~yc~

Add a comment
Know the answer?
Add Answer to:
the goal is to enter the beginning and end of the interval and return the root Extra: Can a function return a sentence with the calculated value and the iterations? function raiz=biseccion(xa,x...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
Active Questions
ADVERTISEMENT