Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PERIODO LECTIVO
MARZO 2018 – AGOSTO 2018
MÉTODOS NUMÉRICOS
CUARTO NIVEL
ESTUDIANTES
JORGE ALVEAR
PEDRO CHALÁN
WILMER GALARZA
DOCENTE
FECHA DE ENTREGA
05 – 0 – 2018
REGLA DEL TRAPECIO
SCRIP:
function [f,k1]= trapecio(a,b,n)
disp('MÉTODO DEL TRAPECIO')
a=input('Ingrese el límite inferior:');
b=input('Ingrese el límite superior:');
n=input('Ingrese el número de trapecios:');
f=input('Ingrese la función:','s');
h=(b-a)/n;
disp('El valor de h es:')
disp(h)
f=inline(f);
k1=f(a)+f(b);
for i=1:n-1
k=a+i*h;
k1=k1+2*f(k);
end
k1=(h/2)*k1;
disp('El valor de la intregración con el método es:')
disp(k1)
COMPROBACIÓN:
MÉTODO DEL TRAPECIO
Ingrese el límite inferior: 0
Ingrese el límite superior: pi/2
Ingrese el número de trapecios:2
Ingrese la función: sin(x)
El valor de h es:
0.7854
COMPROBACIÓN:
MÉTODO 1/3 DE SIMPSON
Ingrese el límite inferior: 0
Ingrese el límite superior: pi/2
Ingrese el número de divisiones: 2
Ingrese la función: sin(x)
El valor de la integración con el método es:
1.0023
REGLA 3/8 DE SIMPSON
SCRIP:
COMPROBACIÓN:
FORMULAS DE DIFERENCIACIÓN NUMÉRICA
SCRIP:
COMPROBACIÓN:
MÉTODO DE GAUSS - JORDAN
SCRIP:
clear all ;
clc;
disp('METED GAUUS-JORDAN')
fprintf('Ingrese la matriz la matriz aumentada\n\n');
disp('Para ingresar las filas y columnas tener en cuenta la columna del
termino independiente')
disp('Ejemplo: Una matriz de 3x3 tendrá 3x4 donde la última columna es el
termino independiente')
f=input('Filas tiene la matriz: ');
c=input('Columnas tiene la matriz: ');
for k=1:c
for j=1:f
fprintf('Fila : %x\n',j);fprintf('Columna :%x\n',k)
r=input('Termino numérico de esta fila y columna: ');
a(j,k)=r;
j=j+1;
end
k=k+1;
end
disp('La matriz aumentada es:')
disp(a)
pause
for k=1:c-1
a(k,:)=a(k,:)/a(k,k);
for j=k+1:f
a(j,:)=a(j,:)-a(k,:)*a(j,k);
j=j+1;
a
pause
end
k=k+1;
a
pause
end
for k=f:-1:2
for j=k-1:-1:1
a(j,:)=a(j,:)-a(k,:)*a(j,k);
j=j-1;
a
pause
end
k=k-1;
pause
end
disp('El resultado de la matriz es:');
disp(a)
COMPROBACIÓN:
MÉTODO GAUUS-JORDAN
Ingrese la matriz la matriz aumentada
Para ingresar las filas y columnas tener en cuenta la columna del termino independiente
Ejemplo: Una matriz de 3x3 tendrá 3x4 donde la última columna es el termino
independiente
Filas tiene la matriz: 3
Columnas tiene la matriz: 4
La matriz aumentada es:
2 1 -3 -1
-1 3 2 12
3 1 -3 0
El resultado de la matriz es:
1 0 0 1
0 1 0 3
0 0 1 2
for i=1:n
for j=1
fprintf('Ingrese los términos independientes de la fila (%d):',i)
Z(i,j)=input(' ');
end
end
a=C*Z;
disp('El resultado de la matriz es:');
disp(a)
COMPROBACIÓN:
MÉTODO DE LA MATRIZ INVERSA
Ingrese el grado de la matriz: 3
La matriz aumentada e identidad se expresa a continuación:
2 1 -3 1 0 0
-1 3 2 0 1 0
3 1 -3 0 0 1
La inversa de la matriz es:
-1.0000 0 1.0000
0.2727 0.2727 -0.0909
-0.9091 0.0909 0.6364
Ingrese los términos independientes de la fila (1): -1
Ingrese los términos independientes de la fila (2): 12
Ingrese los términos independientes de la fila (3): 0
El resultado de la matriz es:
1
3
2
MÉTODO DE LA DESCOMPOSICIÓN LU
SCRIP:
clc;
clear;
fprintf('DESCOMPOSICIÓN LU \n');
n=input('Ingrese el grado de la matriz: ');
m=n*2;
for i=1:n
for j=1:n
fprintf('Ingrese el valor de A(%d,%d):',i,j)
A(i,j)=input(' ');
end
end
for i=1:n
for j=1
fprintf('Ingrese los términos independientes de la fila (%d):',i)
Z(i,j)=input(' ');
end
end
[n,m]=size(A);
fprintf ('\n Su matriz aumentada es: \n');
C=[A,Z];
disp(C)
format short
if n==m
for k=1:n
L(k,k)=1;
suma=0;
for p=1:k-1
suma=suma+L(k,p)*u(p,k);
end
u(k,k)=(A(k,k)-suma);
for i=k+1:n
suma=0;
for r=1:k-1
suma=suma+L(i,r)*u(r,k);
end
L(i,k)=(A(i,k)-suma)/u(k,k);
end
for j=k+1:n
suma=0;
for s=1:k-1
suma=suma+L(k,s)*u(s,j);
end
u(k,j)=(A(k,j)-suma);
end
end
memoriau=1;
memoriaL=1;
for i=1:n
memoriau=memoriau*u(i,i);
end
producto=memoriaL*memoriau;
if producto~=0
for i=1:n
suma=0;
for p=1:i-1
suma=suma+L(i,p)*z(p);
end
z(i)=(Z(i)-suma)/L(i,i);
end
for i=n:-1:1
suma=0;
for p=(i+1):n
suma=suma+u(i,p)*x(p);
end
x(i)=(z(i)-suma)/u(i,i);
end
else
fprintf('\n El determinante es igual a cero, por lo tanto el
sistema tiene infinita o ninguna solución\n')
end
end
format short
fprintf('\n La Matriz "L" es: \n')
disp(L)
fprintf('\n La matriz "U" es: \n')
disp(u)
fprintf('\n La matriz "Z" es: \n')
disp(z)
fprintf('\n \n El resultado de la matriz es:\n');
format short
for i=1:n
xi=x(1,i);
fprintf('X%f=',i)
disp(xi);
end
COMPROBACIÓN:
DESCOMPOSICIÓN LU
Ingrese el grado de la matriz: 3
Su matriz aumentada es:
2 1 -3 -1
-1 3 2 12
3 1 -3 0
X2= 3
X3= 2.0000
REGRESIÓN LINEAL
SCRIP:
clc
clear variables
close all
fprintf('REGRESSION LINEAL\n\n')
disp('Para ingresar los valores de XI y Yi hacerlo entre corchetes y
separados con un espacio')
fprintf('Ejemplo: [a b c d e f]\n\n')
x=input('Ingrese los valores correspondientes de Xi: ');
y=input('Ingrese los valores correspondientes de Yi: ');
A=zeros(2);
Z=zeros(2,1);
format short
for i=1:length(x)
A(1,1)=A(1,1)+(x(i))^2;
A(1,2)=A(1,2)+(x(i));
A(2,1)=A(2,1)+(x(i));
A(2,2)=length(x);
Z(1,1)=Z(1,1)+(x(i)*y(i));
Z(2,1)=Z(2,1)+y(i);
end
format short
B=inv(A)*Z;
disp('El polinomio ajustado a los puntos dados es:')
fprintf('g(x)= %f*x+%f \n',B(1),B(2))
COMPROBACIÓN:
REGRESIÓN LINEAL
Para ingresar los valores de XI y Yi hacerlo entre corchetes y separados con un espacio
Ejemplo: [a b c d e f]
Ingrese los valores correspondientes de Xi: [0.1 0.4 0.5 0.7 0.7 0.9]
Ingrese los valores correspondientes de Yi: [0.61 0.92 0.99 1.52 1.47 2.03]
El polinomio ajustado a los puntos dados es:
g(x)= 1.764557*x+0.286160
COMPROBACIÓN:
MÉTODO DE EULER HACIA ADELANTE
'it x0 x1 y1
0 0.000000 0.010000 4.070000