SlideShare una empresa de Scribd logo
clc
clear all
% Función para truncar a n decimales
function val = truncate(val, n)
factor = 10^n;
val = floor(val * factor) / factor;
end
disp('Método de Newton-Raphson para la función f(x) = 3*sin(x) + exp(-x) -
2')
% Definir la función f(x) y su derivada f'(x)
f = @(x) 3*sin(x) + exp(-x) - 2;
df = @(x) 3*cos(x) - exp(-x);
% Valor inicial
xi = -1.5;
error = 0; % Inicializar el error
max_iter = 7; % Número fijo de iteraciones
% Impresión del encabezado de la tabla
fprintf('It.t xitt f(xi)tt f''(xi)tt xrtt Errorn');
% Bucle del método de Newton-Raphson
for iter = 1:max_iter
fxi = f(xi);
dfxi = df(xi);
xr = xi - fxi / dfxi;
% Truncar a 4 decimales antes de imprimir
xi = truncate(xi, 4);
fxi = truncate(fxi, 4);
dfxi = truncate(dfxi, 4);
xr = truncate(xr, 4);
if iter > 1 % El error se calcula a partir de la segunda iteración
error = abs(truncate((xr - prev_xr)/xr, 9)); % Ahora el error se trunca a 9
decimales
end
fprintf('%2dt %10.4ft %10.4ft %10.4ft %10.4ft %.9fn', iter, xi, fxi,
dfxi, xr, error); % Actualizar el formato de impresión para mostrar 9
decimales en el error
prev_xr = xr; % Guardar el valor actual de xr para calcular el error en la
siguiente iteración
xi = xr; % Actualizar xi para la siguiente iteración
end
% Comprobar si se encontró una solución
disp('La raíz aproximada después de 7 iteraciones por el método de Newton-
Raphson es:')
disp(truncate(xr, 4)) % Truncar la raíz final a 4 decimales
% Graficar la función y la aproximación de la raíz
x = linspace(-2, -1, 100);
plot(x, f(x))
hold on
plot(xi, f(xi), 'ro') % Punto inicial
plot(xr, f(xr), 'go') % Aproximación de la raíz
title('Método de Newton-Raphson para f(x) = 3*sin(x) + exp(-x) - 2')
xlabel('x')
ylabel('f(x)')
grid on
legend('f(x)', 'Punto inicial', 'Aproximación de la raíz')
hold off
clc
clear all
disp('Método de la Regla Falsa')
% Definir la función f(x)
f = @(x) x.^3 - x - 1;
% Valores iniciales
a = 1;
b = 2;
error = 1; % Inicializar el error con un valor mayor que tol
prev_xr = 0; % Inicializar prev_xr
max_iter = 7; % Número fijo de iteraciones
tol = 1e-4; % Tolerancia del error
% Impresión del encabezado de la tabla
fprintf('It.t att f(a)tt btt f(b)tt xrtt f(xr)tt Errorn');
% Bucle del método de la Regla Falsa
for iter = 1:max_iter
fa = f(a);
fb = f(b);
xr = (a * fb - b * fa) / (fb - fa); % Cálculo de xr
fxr = f(xr);
% Truncar a 4 decimales antes de imprimir
a = truncate(a, 4);
fa = truncate(fa, 4);
b = truncate(b, 4);
fb = truncate(fb, 4);
xr = truncate(xr, 4);
fxr = truncate(fxr, 4);
if iter > 1 % El error se calcula a partir de la segunda iteración
error = abs(truncate(xr - prev_xr, 4));
end
fprintf('%2dt %10.4ft %10.4ft %10.4ft %10.4ft %10.4ft %10.4ft %10.4f
n', iter, a, fa, b, fb, xr, fxr, error);
if fa * fxr < 0
b = xr;
else
a = xr;
end
if error < tol
break;
end
prev_xr = xr; % Guardar el valor actual de xr para calcular el error en la
siguiente iteración
end
% Comprobar si se encontró una solución
disp('La raíz aproximada después de las iteraciones por el método de la
Regla Falsa es:')
disp(truncate(xr, 4)) % Truncar la raíz final a 4 decimales
% Graficar la función y la aproximación de la raíz
x = linspace(0, 3, 100);
plot(x, f(x))
hold on
plot(a, f(a), 'ro') % Punto a
plot(b, f(b), 'bo') % Punto b
plot(xr, f(xr), 'go') % Aproximación de la raíz
title('Método de la Regla Falsa')
xlabel('x')
ylabel('f(x)')
grid on
legend('f(x)', 'Punto a', 'Punto b', 'Aproximación de la raíz')
hold off
% Función para truncar a n decimales
function val = truncate(val, n)
factor = 10^n;
val = floor(val * factor) / factor;
end
clc
clear all
disp('Metodo De La Biseccion')
vi = -1;
vf = 0;
f = @(x) x.^4 + x.^3 - 7*x.^2 - x + 5;
i = 1;
a(i) = vi;
b(i) = vf;
n(i) = 1;
xr(i) = (vi + vf) / 2;
fa(i) = f(vi);
fb(i) = f(vf);
fxr(i) = f(xr(i));
if ((fa(i) * fb(i)) > 0)
error('No Se Cumple El Teorema De Bolzano');
end
fprintf('It. a b xr f(a) f(b) f(xr) fa*fxr ern');
for i = 1:10
n(i) = i;
if fa(i) * fxr(i) < 0
a(i + 1) = a(i);
b(i + 1) = xr(i);
prod{i} = '-';
else
a(i + 1) = xr(i);
b(i + 1) = b(i);
prod{i} = '+';
end
if i == 1
err(i) = 0;
else
err(i) = abs((xr(i) - xr(i - 1)) / xr(i));
end
fprintf('%2dt %10.6ft %10.6ft %10.6ft %10.6ft %10.6ft %10.6ft %st %
10.6fn', n(i), a(i), b(i), xr(i), fa(i), fb(i), fxr(i), prod{i}, err(i));
xr(i + 1) = (a(i + 1) + b(i + 1)) / 2;
fa(i + 1) = f(a(i + 1));
fb(i + 1) = f(b(i + 1));
fxr(i + 1) = f(xr(i + 1));
end
x = -1:0.1:0;
plot(x, f(x))
hold on
plot(xr, fxr)
clc
clear all
disp('Método de Newton-Raphson')
% Función para truncar a n decimales
function val = truncate(val, n)
factor = 10^n;
val = floor(val * factor) / factor;
end
% Definir la función f(x), su derivada f'(x) y su segunda derivada f''(x)
f = @(x) x.^3 - x.^2 - x + 1;
df = @(x) 3*x.^2 - 2*x - 1;
ddf = @(x) 6*x - 2;
% Valor inicial
xi = 0.9;
error = 0; % Inicializar el error
max_iter = 100; % Número fijo de iteraciones
% Impresión del encabezado de la tabla
fprintf('It.t xitt f(xi)tt f''(xi)tt f''''(xi)tt xrtt Errorn');
% Bucle del método de Newton-Raphson
for iter = 1:max_iter
fxi = f(xi);
dfxi = df(xi);
ddfxi = ddf(xi);
xr = xi - (fxi * dfxi) / (dfxi^2 - fxi * ddfxi);
% Truncar a 4 decimales antes de imprimir
xi = truncate(xi, 4);
fxi = truncate(fxi, 4);
dfxi = truncate(dfxi, 4);
ddfxi = truncate(ddfxi, 4);
xr = truncate(xr, 4);
if iter > 1 % El error se calcula a partir de la segunda iteración
error = abs(truncate(xr - prev_xr, 4));
end
fprintf('%2dt %10.4ft %10.4ft %10.4ft %10.4ft %10.4ft %10.4fn', iter,
xi, fxi, dfxi, ddfxi, xr, error);
prev_xr = xr; % Guardar el valor actual de xr para calcular el error en la
siguiente iteración
xi = xr; % Actualizar xi para la siguiente iteración
end
% Comprobar si se encontró una solución
disp('La raíz aproximada después de 7 iteraciones por el método de Newton-
Raphson es:')
disp(truncate(xr, 4)) % Truncar la raíz final a 4 decimales
% Graficar la función y la aproximación de la raíz
x = linspace(-2, 2, 100);
plot(x, f(x))
hold on
plot(xi, f(xi), 'ro') % Punto inicial
plot(xr, f(xr), 'go') % Aproximación de la raíz
title('Método de Newton-Raphson')
xlabel('x')
ylabel('f(x)')
grid on
legend('f(x)', 'Punto inicial', 'Aproximación de la raíz')
hold off

Más contenido relacionado

PDF
Practica de matlab
PDF
Optimización de Procesos
PPTX
Estructuras_no_secuenciales_herramientas.pptx
PPT
No lineales
PDF
Metodos numericos-3-1212530740013750-9
PDF
Notas de Cálculo Diferencial
PPT
Matlab2009b -clase2
PDF
Matavmatlab
Practica de matlab
Optimización de Procesos
Estructuras_no_secuenciales_herramientas.pptx
No lineales
Metodos numericos-3-1212530740013750-9
Notas de Cálculo Diferencial
Matlab2009b -clase2
Matavmatlab

Similar a codigos metodosnumericosingenieriaelectrica.docx (20)

PPTX
Aplicacion de las derivadas
PPTX
RAÍCES DE ECUACIONES
PPTX
La derivada de una funciòn
PPT
Metodo de newton
PPT
Derivadas
DOCX
Examen
PDF
Practica4 newton-raph-resuelta
ODT
TERCERA PRACTICA
DOCX
Ejercicios raíces de funciones
PDF
Método de Newton
PPTX
InterpolacionLaGrange.pptx
PPT
INTERPOLACION Y EJEMPLOS PRACTICOS PARA CURSO
PDF
Omarevelioospinaarteaga.1992 parte6(1)
PDF
Funciones de interpolación y aproximación.pdf
PPTX
Definición de la derivada de una función
ODT
Function secante
PDF
clase 7 GRAFICOS 2D.pdf
PDF
Oper.2305.m04.lectura.v1
PDF
Derivadas resumen
Aplicacion de las derivadas
RAÍCES DE ECUACIONES
La derivada de una funciòn
Metodo de newton
Derivadas
Examen
Practica4 newton-raph-resuelta
TERCERA PRACTICA
Ejercicios raíces de funciones
Método de Newton
InterpolacionLaGrange.pptx
INTERPOLACION Y EJEMPLOS PRACTICOS PARA CURSO
Omarevelioospinaarteaga.1992 parte6(1)
Funciones de interpolación y aproximación.pdf
Definición de la derivada de una función
Function secante
clase 7 GRAFICOS 2D.pdf
Oper.2305.m04.lectura.v1
Derivadas resumen
Publicidad

Último (20)

PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
Curso Introductorio de Cristales Liquidos
PPTX
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PPTX
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
PDF
1132-2018 espectrofotometro uv visible.pdf
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PPTX
leyes de los gases Ideales. combustible refinación
PPTX
LEVANTAMIENTOS TOPOGRAFICOS - DIAPOSITIVAS
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PPTX
Presentacion_Palcoma_Alta energia solar eolica
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
DOCX
Cumplimiento normativo y realidad laboral
PPTX
DEBL Presentación PG 23.pptx [Autoguardado].pptx
PPTX
Introduccion quimica del fuego.ffffffffffpptx
PDF
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
PPTX
Software para la educación instituciones superiores
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
informacion acerca de la crianza tecnificada de cerdos
Curso Introductorio de Cristales Liquidos
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
1132-2018 espectrofotometro uv visible.pdf
357161027-seguridad-industrial-diapositivas-ppt.ppt
Diseño y Utiliación del HVAC Aire Acondicionado
leyes de los gases Ideales. combustible refinación
LEVANTAMIENTOS TOPOGRAFICOS - DIAPOSITIVAS
S15 Protección de redes electricas 2025-1_removed.pdf
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
Presentacion_Palcoma_Alta energia solar eolica
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
Cumplimiento normativo y realidad laboral
DEBL Presentación PG 23.pptx [Autoguardado].pptx
Introduccion quimica del fuego.ffffffffffpptx
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
Software para la educación instituciones superiores
Publicidad

codigos metodosnumericosingenieriaelectrica.docx

  • 1. clc clear all % Función para truncar a n decimales function val = truncate(val, n) factor = 10^n; val = floor(val * factor) / factor; end disp('Método de Newton-Raphson para la función f(x) = 3*sin(x) + exp(-x) - 2') % Definir la función f(x) y su derivada f'(x) f = @(x) 3*sin(x) + exp(-x) - 2; df = @(x) 3*cos(x) - exp(-x); % Valor inicial xi = -1.5; error = 0; % Inicializar el error max_iter = 7; % Número fijo de iteraciones % Impresión del encabezado de la tabla fprintf('It.t xitt f(xi)tt f''(xi)tt xrtt Errorn'); % Bucle del método de Newton-Raphson for iter = 1:max_iter fxi = f(xi); dfxi = df(xi); xr = xi - fxi / dfxi; % Truncar a 4 decimales antes de imprimir xi = truncate(xi, 4); fxi = truncate(fxi, 4); dfxi = truncate(dfxi, 4); xr = truncate(xr, 4); if iter > 1 % El error se calcula a partir de la segunda iteración error = abs(truncate((xr - prev_xr)/xr, 9)); % Ahora el error se trunca a 9 decimales end fprintf('%2dt %10.4ft %10.4ft %10.4ft %10.4ft %.9fn', iter, xi, fxi, dfxi, xr, error); % Actualizar el formato de impresión para mostrar 9 decimales en el error prev_xr = xr; % Guardar el valor actual de xr para calcular el error en la siguiente iteración xi = xr; % Actualizar xi para la siguiente iteración end % Comprobar si se encontró una solución disp('La raíz aproximada después de 7 iteraciones por el método de Newton- Raphson es:') disp(truncate(xr, 4)) % Truncar la raíz final a 4 decimales % Graficar la función y la aproximación de la raíz x = linspace(-2, -1, 100); plot(x, f(x)) hold on plot(xi, f(xi), 'ro') % Punto inicial plot(xr, f(xr), 'go') % Aproximación de la raíz title('Método de Newton-Raphson para f(x) = 3*sin(x) + exp(-x) - 2') xlabel('x')
  • 2. ylabel('f(x)') grid on legend('f(x)', 'Punto inicial', 'Aproximación de la raíz') hold off clc clear all disp('Método de la Regla Falsa') % Definir la función f(x) f = @(x) x.^3 - x - 1; % Valores iniciales a = 1; b = 2; error = 1; % Inicializar el error con un valor mayor que tol prev_xr = 0; % Inicializar prev_xr max_iter = 7; % Número fijo de iteraciones tol = 1e-4; % Tolerancia del error % Impresión del encabezado de la tabla fprintf('It.t att f(a)tt btt f(b)tt xrtt f(xr)tt Errorn'); % Bucle del método de la Regla Falsa for iter = 1:max_iter fa = f(a); fb = f(b); xr = (a * fb - b * fa) / (fb - fa); % Cálculo de xr fxr = f(xr); % Truncar a 4 decimales antes de imprimir a = truncate(a, 4); fa = truncate(fa, 4); b = truncate(b, 4); fb = truncate(fb, 4); xr = truncate(xr, 4); fxr = truncate(fxr, 4); if iter > 1 % El error se calcula a partir de la segunda iteración error = abs(truncate(xr - prev_xr, 4)); end fprintf('%2dt %10.4ft %10.4ft %10.4ft %10.4ft %10.4ft %10.4ft %10.4f n', iter, a, fa, b, fb, xr, fxr, error); if fa * fxr < 0 b = xr; else a = xr; end if error < tol break; end prev_xr = xr; % Guardar el valor actual de xr para calcular el error en la siguiente iteración end % Comprobar si se encontró una solución disp('La raíz aproximada después de las iteraciones por el método de la Regla Falsa es:') disp(truncate(xr, 4)) % Truncar la raíz final a 4 decimales % Graficar la función y la aproximación de la raíz x = linspace(0, 3, 100); plot(x, f(x)) hold on plot(a, f(a), 'ro') % Punto a
  • 3. plot(b, f(b), 'bo') % Punto b plot(xr, f(xr), 'go') % Aproximación de la raíz title('Método de la Regla Falsa') xlabel('x') ylabel('f(x)') grid on legend('f(x)', 'Punto a', 'Punto b', 'Aproximación de la raíz') hold off % Función para truncar a n decimales function val = truncate(val, n) factor = 10^n; val = floor(val * factor) / factor; end clc clear all disp('Metodo De La Biseccion') vi = -1; vf = 0; f = @(x) x.^4 + x.^3 - 7*x.^2 - x + 5; i = 1; a(i) = vi; b(i) = vf; n(i) = 1; xr(i) = (vi + vf) / 2; fa(i) = f(vi); fb(i) = f(vf); fxr(i) = f(xr(i)); if ((fa(i) * fb(i)) > 0) error('No Se Cumple El Teorema De Bolzano'); end fprintf('It. a b xr f(a) f(b) f(xr) fa*fxr ern'); for i = 1:10 n(i) = i; if fa(i) * fxr(i) < 0 a(i + 1) = a(i); b(i + 1) = xr(i); prod{i} = '-'; else a(i + 1) = xr(i); b(i + 1) = b(i); prod{i} = '+'; end if i == 1 err(i) = 0; else err(i) = abs((xr(i) - xr(i - 1)) / xr(i)); end fprintf('%2dt %10.6ft %10.6ft %10.6ft %10.6ft %10.6ft %10.6ft %st % 10.6fn', n(i), a(i), b(i), xr(i), fa(i), fb(i), fxr(i), prod{i}, err(i)); xr(i + 1) = (a(i + 1) + b(i + 1)) / 2; fa(i + 1) = f(a(i + 1)); fb(i + 1) = f(b(i + 1));
  • 4. fxr(i + 1) = f(xr(i + 1)); end x = -1:0.1:0; plot(x, f(x)) hold on plot(xr, fxr) clc clear all disp('Método de Newton-Raphson') % Función para truncar a n decimales function val = truncate(val, n) factor = 10^n; val = floor(val * factor) / factor; end % Definir la función f(x), su derivada f'(x) y su segunda derivada f''(x) f = @(x) x.^3 - x.^2 - x + 1; df = @(x) 3*x.^2 - 2*x - 1; ddf = @(x) 6*x - 2; % Valor inicial xi = 0.9; error = 0; % Inicializar el error max_iter = 100; % Número fijo de iteraciones % Impresión del encabezado de la tabla fprintf('It.t xitt f(xi)tt f''(xi)tt f''''(xi)tt xrtt Errorn'); % Bucle del método de Newton-Raphson for iter = 1:max_iter fxi = f(xi); dfxi = df(xi); ddfxi = ddf(xi); xr = xi - (fxi * dfxi) / (dfxi^2 - fxi * ddfxi); % Truncar a 4 decimales antes de imprimir xi = truncate(xi, 4); fxi = truncate(fxi, 4); dfxi = truncate(dfxi, 4); ddfxi = truncate(ddfxi, 4); xr = truncate(xr, 4); if iter > 1 % El error se calcula a partir de la segunda iteración error = abs(truncate(xr - prev_xr, 4)); end fprintf('%2dt %10.4ft %10.4ft %10.4ft %10.4ft %10.4ft %10.4fn', iter, xi, fxi, dfxi, ddfxi, xr, error); prev_xr = xr; % Guardar el valor actual de xr para calcular el error en la siguiente iteración xi = xr; % Actualizar xi para la siguiente iteración end % Comprobar si se encontró una solución disp('La raíz aproximada después de 7 iteraciones por el método de Newton- Raphson es:') disp(truncate(xr, 4)) % Truncar la raíz final a 4 decimales
  • 5. % Graficar la función y la aproximación de la raíz x = linspace(-2, 2, 100); plot(x, f(x)) hold on plot(xi, f(xi), 'ro') % Punto inicial plot(xr, f(xr), 'go') % Aproximación de la raíz title('Método de Newton-Raphson') xlabel('x') ylabel('f(x)') grid on legend('f(x)', 'Punto inicial', 'Aproximación de la raíz') hold off