Matlab codigos
clear all
close all
syms x;
x1=2;
f=x^3;
tol=0.001;
df=diff(f);%***diff deriva funcion***subs evalua funcion****
f1=subs(f,x1);
df1=subs(df,x1);con=0;
x=x1-(f1/df1);
while(abs(x-x1)>tol)
x1=x;
df=diff(f);
f1=subs(f,x1);
df1=subs(df,x1);
x=x1-(f1/df1);
con=con+1;end
res=num2str(x);
disp(['El resultado del Método de NR es:',res])
Programa de Bisección
close all;
clear all;
syms x %indicar la variable a derivar
%Entrada de valores porel usuario
disp(' ')
disp('Programa para resolver el Método de Biseccion')
%***Asignacion de datos
a=-5;
b=5;
f=x^3;
tol=0.001;
fea=subs(f,a);
feb=subs(f,b);
if sign(fea)==sign(feb) %comandosign nos da el signo en este caso compara los signos en la funcion evaluadas
disp('La funcion debe de contener signos diferentes')
return; %si es if pasa con return indicaremos q regrese a pedirlos valores de a y b para entrar de nuevo al if
end
i=0 %contador
c=(b+a)/2; %aumento
fc=subs(f,c);
while abs(fc) > tol
c=(a+b)/2; %********punto medio*****
fc=subs(f,c);
i=1+1;%******casos para ver el intervalo en el q trabajaremos
if sign(fea)== sign(fc)
a=c;
feb=fc;
else
b=c;
fea=feb;
end
end
res=num2str(c);
disp(['El resultado del Métodode Bisección es:',res])
Programa la secante
clear all
close all
syms x;
xo=-3;
x1=-2;
f=x^3;
tol=0.0001;
fx1=subs(f,x1);
fxo=subs(f,xo);
con=0;x=xo-((x1-xo)/(fx1-fxo))*fx1;
while(abs(x-x1)>tol)
x1=x;
fx1=subs(f,x1);
fxo=subs(f,xo);
x=xo-((x1-xo)/(fx1-fxo))*fx1;
xo=x1;
fxo=fx1;
x1=x;con=con+1;
end
res=num2str(x);
disp(['El resultado del Método de Secante es:',res])
Programa que quita un valor no deseado y calcula el promedio
clc;
close all;
clear all;...
Regístrate para leer el documento completo.