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