Regla Falsa
Enviado por sparkman1992 • 3 de Junio de 2013 • 459 Palabras (2 Páginas) • 283 Visitas
clc
clear
printf('\t\t\tMétodos numéricos\n')
printf('\t\t\tPrograma de la regla falsa\n')
printf('\nIngrese la función\n')
f1=input('f(x)=','s')
f2='e='+f1
deff('e=f(x)',f2)
printf('\nIngrese el límite inferior\n')
xa=input('xi=')
printf('\nIngrese el límite superior\n')
xb=input('xs=')
printf('¿Desea trabajar segun el numero de interaciones o el error maximo?\n')
printf('Para trabajar con el error maximo, digite 1\nPara trabajar con el numero de interaciones digite 2\n')
d=input('opcion=')
if d==1 then
printf('\nIngrese el error\n')
emax=input('emax=')
fa=feval(xa,f)
fb=feval(xb,f)
if fa*fb <0 then
printf('Existe raíz\n')
e=100
k=1
xant=0
xr=xb-((fb*(xa-xb))/(fa-fb))
while emax < e
xant=xr
fr=feval(xr,f)
if fa*fr<0 then
xb=xr
else
xa=xr
end
fa=feval(xa,f)
fb=feval(xb,f)
xr=xb-((fb*(xa-xb))/(fa-fb))
e=abs((xr-xant)/xr)*100
er(k)=e;
p(k)=k;
k=k+1
end
end
else
printf('\nIngrese el numero de interaciones\n')
it=input('interaciones = ')
fa=feval(xa,f)
fb=feval(xb,f)
if fa*fb <0 then
printf('Existe raíz\n')
e=100
k=1
xant=0
xr=xb-((fb*(xa-xb))/(fa-fb))
while it > k
xant=xr
fr=feval(xr,f)
if fa*fr<0 then
xb=xr
else
xa=xr
end
fa=feval(xa,f)
fb=feval(xb,f)
xr=xb-((fb*(xa-xb))/(fa-fb))
e=abs((xr-xant)/xr)*100
er(k)=e;
p(k)=k;
k=k+1
end
end
end
printf('\nLa raiz es xr= %3.5f con un error igual a: %3.5f',xr,e)
plot(p,er,'.r')
xgrid(6)
...