Sei sulla pagina 1di 1

clear all

clc

syms x %Declaro a 'x' como un valor


simblico, una variable.
Y=input('ingrese la funcin:\n');
sup=input('ingrese el limite superior:\n'); %Valor que uno define, en nuestro
entrono a evaluar [A,B] es B.
in=input('ingrese el limite inferior:\n'); %Valor que uno define, en nuestro
entrono a evaluar [A,B] es A.
t=linspace(in,sup,1000); %Vector que yo creo para definirle
al programa, entre A y B con 1000 valores entre A y B incluidos.

plot(t,subs(Y,t)) %Nos da un grfico, con x ? [A,B] en


abscisas / Y=f(x) en ordenadas.
grid on %Desde la linea 11 a la 13, son
codigos para cambiar la interfaz visual del grfico.
set(gca, 'GridLineStyle', '-');
grid(gca,'minor')
Xn=input('ingrese el valor inicial:\n'); %El X(i), el valor inicial para la
iteracin.
Ydx=diff(Y,x); %Interesante el comando
diff(funcin, variable), calcula la derivada.
error=1; %cte arbitraria para entrar a la
sentencia while
tolerancia=input('ingrese la tolerancia:\n'); %diferencia entre el valor de la
raiz y el calculado con la iteracin.
while error>=tolerancia %mientras el valor 'error' >= al
valor 'tolerancia', va a realizar otra iteracin.

X1 = Xn - (subs(Y,Xn)/subs(Ydx,Xn)); %Formula de Newton Raphson el


comando 'subs(funcin, valor)' evalua a dicha funcin en dicho valor.
error = abs((X1-Xn)/X1); %Cambia el valor de la variable
'error', por el calculado nuevamente.
Xn = X1; %Usa al resultado de la primer
iteracin, como semilla de la segunda, y asi hasta cumplir mi condicin dada.
end
format short;
Xn

Potrebbero piacerti anche