Documentos de Académico
Documentos de Profesional
Documentos de Cultura
0000104861
PARCIAL #1
clear all
close all
clc
n = 18;
X=zeros(1,n);
Y=zeros(1,n);
for i=1:n
Y(1,i) = i-9;
X(1,i) = (-2*((i-9)^6)) - (1.5*((i-9)^4)) + (10*(i-9)) +2;
end
plot(Y,X)
%MÉTODO DE LA BISECCIÓN
clear, clc
a=input('Ingrese el extremo izquierdo del intervalo: ');
b=input('Ingrese el extremo derecho del intervalo: ');
e=input('Ingrese el valor de precisión de épsilon: ');
m=input('Ingrese el número máximo de iteraciones: ');
syms x
func=input('Ingrese la función (en términos de x): ');
f=inline(func);
if f(a)*f(b)<0 % ---- parametro cambiado
disp('El intervalo ingresado es inadecuado, cambie los valores de a y b');
return
end
for k=1:m
x=(a+b)/2;
if f(a)*f(x)>0
a=x;
else
b=x;
end
if abs(f(x))<e
disp('Éxito, se logró la precisión deseada, la solución es: ');
disp(x)
disp('El numero de iteraciones que se realizaron es: ');
disp(k)
disp('El valor aproximado es: ');
disp(f(x))
break
end
end
if k==m
disp('Se alcanzó el máximo de iteraciones sin llegar a la precisión deseada');
end
LOS RESULTADOS SON
3) Se utilizó el código:
A=input('ingrese la matriz A: ');
b=input('ingrese el vector libre b (columna): ');
x0=input('ingrese el vector inicial x0 (columna): ');
e=input('ingrese el valor de presicion (epsilon): ');
m=input('ingrese el valor maximo de iteraciones (m): ');
n=length(A);
I=eye(n);
D=diag(diag(A));
L=tril(A)-D;
U=triu(A)-D;
B=D;
for k=1:m
x1=(I-inv(B)*A)*x0+inv(B)*b;
if norm(x1-x0)<e
fprintf('éxito, se logró la precisión deseada despues de %d iteraciones',k)
fprintf('\n El valor aproximado de la raíz es: %f\n',x1);% %f para reales %d enteros %c para
caracteres %s para cadenas
return;
end
x0=x1;
end
%disp('la aproximación es')
%disp(x1)
if k==m
fprintf('\n el maximo de iteraciones no logro la precision deseada.\n El mejor resultado es: %f\n\n',x1);
end
RESULTADOS: