Algoritmos y programas

Solo disponible en BuenasTareas
  • Páginas : 4 (942 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de agosto de 2012
Leer documento completo
Vista previa del texto
MATLAB

METODOS PARA ENCONTRAR RAICES

Método de la bisección

Método de punto fijo
xf(1)=input('Ingrese el primer valor : ');
tol=input('Ingrese el porcentaje de error: ');
syms x;f=input('Ingrese la función f(x), despejada g(f(x)):','s');

i=1;
ea(1)=100;
while abs(ea(i))>=tol,
xf(i+1) = subs(f,x,xf(i));
ea(i+1) = abs((xf(i+1)-xf(i))/xf(i+1))*100;
i=i+1;
end
fprintf('ixf(i) Error aprox (i) \n');
for j=1:i;
fprintf('%2d \t %11.7f \t %7.3f \n',j-1,xf(j),ea(j));
end


Método de newton-raphson
funcion=input('Dame la funcion f(x) : ','s');dfuncion=input('Dame la derivada de funcion f(x) : ','s');
d2funcion=input('Dame la segunda derivada de funcion f(x) : ','s');
xi=input('Dame el valor inicial de x : ');
e=input('Dame elporciento del error : ');
ea=1000;
c=1;
x=xi;
while ea>e
g=eval(funcion);
h=eval(dfuncion);
k=eval(d2funcion);
j=x-(g*h)/(h^(2)-(g*k));
ea=abs((j-x)/j*100);
x=j;
c=c+1;end
fprintf('\n\n\n\nLa raiz exacta es: %d',j)
fprintf('\n\nNumero de iteraciones: %d',c);

Método de la secante
f=input('Dame la funcion f(x) : ','s');
x0=input('Dame el valordel intervalo inferior de x : ');
x1=input('Dame el valor del intervalo superior de x : ');
e=input('Dame el porciento del error : ');
ea=1000;
c=1;
while ea>e
x=x0;g=eval(f);
x=x1;
gg=eval(f);
xi=x1-((gg*(x0-x1))/(g-gg));
ea=abs((xi-x1)/xi)*100;
x0=x1;
x1=xi;
c=c+1;
end
fprintf('\n\n\n\nLa raizexacta es: %d',xi)
fprintf('\n\nNumero de iteraciones: %d\n',c);

Método de posición falsa
xai=input('Ingrese limite inferior: ');
xbi=input('Ingrese limite superior: ');
tol=input('Ingrese elporcentaje de Error: ');
syms x;
f=input('Ingrese la Funcion: ');
f1=subs(f,x,xai);
f2=subs(f,x,xbi);
i=1;
ea(1)=100;
if f1*f2 < 0
xa(1)=xai;f1=subs(f,x,xa(1));...
tracking img