xai=input('Ingrese el intervalo inferior: ');
xbi=input('Ingrese el intervalo superior: ');
tol=input('Ingrese el porcentaje de error: ');
syms x;
f=input('Ingrese la funciòn: ');
i=1;
f1=subs(f,x,xai);
f2=subs(f,x,xbi);
ea(i)=100;
if f1*f2 < 0
xa(i)=xai; f1=subs(f,x,xa(i));
xb(i)=xbi; f2=subs(f,x,xb(i));
xr(i)=(xa(i)+xb(i))/2; f3=subs(f,x,xr(i));
fprintf('It. Xa Xr Xb Error aprox \n');
fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \n',i,xa(i),xr(i),xb(i));
while abs(ea(i)) >= tol,
if f1*f3<0
xa(i+1)=xa(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xr(i);f2=subs(f,x,xb(i+1));
end
if f1*f3> 0
xa(i+1)=xr(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xb(i);f2=subs(f,x,xb(i+1));
end
xr(i+1)=(xa(i+1)+xb(i+1))/2; f3=subs(f,x,xr(i+1));
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);
fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %7.3f \n',...
i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));
i=i+1;
end
else
fprintf('No existe una raíz en ese intervalo');
end
Me gusta esto:
Me gusta Cargando...
Relacionado
no corre perrrroooooa
para ingresar funciones como: x^4+x^3-7x+14 que necesito solo me corre con logaritmos y trigonometricas
Hola, si se tiene un polinomio de grado 5 como x^5-15x^4+7x^3….124=0, el cual tiene una raiz real y dos raices complejas conjugadas, como pueden hallarse las raices complejas con este metodo?
ey vale gracias x el codigo, me funciono al 100….
te corre con funciones polinomiales?
Me gustaría que incluyeras a tu tabla de salida, las columnas correspondientes a: f(xai) y f(xbi); pues la idea es verificar que efectivamente una ordenada proporciona una valor negativo y la otra un valor positivo.
Saludos
xque pone i=1
Inicializa el contador
no coree putos
no corree
corre el programa
como meto la funcion?
corre elprograma
muy buen programa casi lo tenia pero me faltaba unos pasos,,, a y si me corrio luego luego