Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE TRUJILLO
TEMA:
PRACTICA CALIFICADA
FINAL DE LA IIUNIDAD
2020
INTEGRANTES:
ING: METALÚRGICA
CURSO: MÉTODOS NUMÉRICOS
DOCENTE: GLORIA POÉMAPE ROJAS
CICLO: IV
PRACTICA METALURGICA
1) Resolver por Gauss:
Se tienen tres lingotes compuestos del siguiente modo:
El 1. ° de 20 g de oro, 30 g de plata y 40 g de cobre.
El 2. ° de 30 g de oro, 40 g de plata y 50 g de cobre.
El 3. ° de 40 g de oro, 50 g de plata y 90 g de cobre.
Se pide qué peso habrá de tomarse de cada uno de los lingotes anteriores para
formar un nuevo lingote de 34 g de oro, 46 de plata y 67 g de cobre.
Identificamos datos:
x es el % del primer lingote que usaremos para el nuevo lingote.
y es el % del segundo lingote que usaremos para el nuevo lingote.
z es el % del tercer lingote que usaremos para el nuevo lingote
Planteamos las ecuaciones:
Para el oro del nuevo lingote → 20 x+30 y+40 z=34
Para la plata del nuevo lingote → 30 x+40 y+50 z=46
Para el cobre del nuevo lingote → 40 x+50 y+90 z=67
Sistema de ecuaciones:
20𝑥 + 30𝑦 + 40𝑧 = 34
(30𝑥 + 40𝑦 + 50𝑧 = 46)
40𝑥 + 50𝑦 + 90𝑧 = 67
Matriz:
20 + 30 + 40 = 34
[30 + 40 + 50 = 46]
40 + 50 + 90 = 67
3
Si multiplicamos la primera por 3/2 y le restamos la segunda → F 2 = 2 F1−F2
𝑥 𝑦 𝑧
[20 + 30 + 40 = 34]
0 5 + 10 = 5
40 + 50 + 90 = 67
𝑥 𝑦 𝑧
[20 + 30 + 40 = 34]
0 5 + 10 = 5
0 10 − 10 = 1
Si multiplicamos la segunda por 2 y le restamos la tercera → F ' 3=2 F2−F3
𝑥 𝑦 𝑧
[20 + 30 + 40 = 34]
0 5 + 10 = 5
0 0 30 = 9
Formando sistema ecuaciones:
Fila 3:
9
z= 30 =0.3
Fila 2:
5 y+3=5
2
y= 5=0.4
Fila 1:
20 x+12+12=34
10
x= 20 =0.5
Tenemos:
%METODO DE GAUSS
A=[20 30 40;
30 40 50;
40 50 90];
b=[34 46 67]';
[n,m]=size(A);
C=[A,b];
disp(C); % la funcion disp nos permite imprimir una variable en el espacio de trabajo
if n==m
%determinado de veces
disp(C)
for i=(k+1):n
fprintf('\nm(%g,%g)=',i,k)
disp(m(i,k));
for j=k:(n+1)
end
end
disp(C)
end
for i=n:-1:1
suma=0;
for p=(i+1):n
end
X(i)=(C(i,n+1)-suma)/C(i,i);
end
else %funcion asignada del if, en caso de que este sea falso
end
fprintf('\n\n\nSOLUCIÓN:\n');
disp(C)
for i=1:n
Xi=X(1,i);
fprintf('\nX%g=',i)
disp(Xi);
end
30 40 50;
40 50 90];
b=[34 46 67]';
[n,m]=size(A);
C=[A,b];
disp(C); % la funcion disp nos permite imprimir una variable en el espacio de trabajo
if n==m
%determinado de veces
disp(C)
for i=(k+1):n
fprintf('\nm(%g,%g)=',i,k)
disp(m(i,k));
for j=k:(n+1)
end
end
disp(C)
end
for i=n:-1:1
suma=0;
for p=(i+1):n
end
X(i)=(C(i,n+1)-suma)/C(i,i);
end
else %funcion asignada del if, en caso de que este sea falso
end
fprintf('\n\n\nSOLUCIÓN:\n');
disp(C)
for i=1:n
Xi=X(1,i);
fprintf('\nX%g=',i)
disp(Xi);
end
De ello calculamos el porcentaje en peso de cada uno de los lingotes para formar uno nuevo:
Lingote N°1= 0.5 %
Lingote N°2= 0.4 %
Lingote N°3= 0.3 %
Deducimos el peso de lingote nuevo:
Primer lingote: Peso es 90g, pero utilizaremos el 50% de 90 g = 45 g
Segundo lingote: Peso es 120g, pero utilizaremos el 40% de 120 g = 48 g
Tercer lingote: Peso es de 180 g ; pero utilizaremos 30% de 180G g , = 54%
2) En el estudio de la constante de velocidad k de una reacción química a diferentes
temperaturas se obtuvieron los datos:
𝐸
𝑘 = 𝑧𝑒 −1.98𝑇
−𝐸
ln(𝐾) = ln (𝑧𝑒 1.98𝑇 )
−𝐸
ln(𝐾) = ln 𝑧 + ln (𝑒 1.98𝑇 )
−𝐸 1
ln(𝐾) = ln 𝑧 + ( )
1.98 𝑇
Sea
𝑦 = ln 𝐾
1
𝑥=𝑇
−𝐸
𝑚=( )
1.98
𝑏 = ln(𝑧)
𝑛 ∑ 𝑥𝑦 − ∑ 𝑥 ∑ 𝑦 ∑𝑦 − 𝑚∑𝑥
𝒎= 2 2
, 𝒃=
𝑛 ∑ 𝑥 − (∑ 𝑥) 𝑛
Luego:
𝐸 = −1.98 𝒎
𝑧 = 𝑒𝒃
3) En el siguiente ejercicio Resolver usando Jacobi y encontrar una solución con 5
cifras signitivas:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include<iostream>
using namespace std;
int main()
{
cout << "\n ";
cout << "\t\t\t\t\t UNIVERSIDAD NACIONAL DE TRUJILLO \n";
cout << "\t\t\t\t\t\tINGENIERIA METALURGICA \n";
cout << "\t\t\t METODO DE GAUSS \n";
col = fil;
double** A = NULL;
allocMatrix(&A, fil, col);
double B[fil];
leerDatos( A, fil, col, B );
imprimirMatriz( A, fil, col, B );
gaussEliminacion( A, fil, col, B );
deallocMatrix( A, fil );
return 0;
}
void leerDatos( double **A, int fil, int col, double B[] )
{
printf( "\n\tIntroduzca coeficientes de la ecuacion:\n" );
void gaussEliminacion( double **A, int fil, int col, double B[] )
{
int max;
int N = fil;
double factor, temp;
}
}
imprimirMatriz( A, fil, col, B );
double solucion[fil];
double suma;
suma = 0.0;
void imprimirMatriz( double **M, int fil, int col, double v[] )
{
printf( "\n\tMatriz:\n" );
printf( "\n" );
}
MATRIZ DOMINANTE
Una vez obtenido la matriz dominante, la ingresamos en el programa de Jacobi
realizado en C++ con un tolerancia (error de parada) de 0.001:
#include <stdio.h>
#include <stdlib.h>
int dim;
float norma(float vector1[],float vector2[]);
float suma_jacobi(float Matriz[], float vector[], int componente);
int main(){
int i,j,iteraciones=0;
float error,epsilon;
printf("\n METODO DE JACOBI DE RESOLUCION DE SISTEMAS Ax=b
\n");
iteraciones++;
if (iteraciones==10) error=epsilon-1;
}
𝑑𝐹1
= 13.94𝑥 + 11.94𝑦
𝑑(𝑥)
𝑑𝐹2
= 2.54𝑦 + 2 + 0.54𝑥
𝑑(𝑦)
𝑑𝐹3
= 3.8𝑥 − 3.62 + 2.8𝑦
𝑑(𝑧)
-------------------I
---------------------------II
----------------------------- III
5.97
𝑍 = √𝑋 2 − (1 − 𝑋 − 𝑌)
0.27
Remplazando el valor de Z.
2
5.97
6.97𝑋 2 − (√𝑋 2 − (1 − 𝑋 − 𝑌) ) + 11.94𝑋𝑌 + 5.97𝑌 2 − 5.97 = 0 − − − − − − − 𝐴
0.27
5.97
1.27𝑌 2 + 0.27𝑋 2 + 𝑌 (√𝑋 2 − (1 − 𝑋 − 𝑌) ) + 0.54𝑋𝑌 − 0.27 = 0 − − − − − − − 𝐵
0.27
2
5.97 5.97 5.97
3.8𝑋√𝑋 2 − (1 − 𝑋 − 𝑌) − 1.8√𝑋 2 − (1 − 𝑋 − 𝑌) − 2.8𝑋𝑌 + 2.8𝑌√𝑋 2 − (1 − 𝑋 − 𝑌)
0.27 0.27 0.27
= 0. − − −𝐶
Sumando A+B
5.97
5.97𝑋 2 + (1 − 𝑋 − 𝑌) + 11.94𝑋𝑌 + 5.97𝑌 2 − 5.97 = 0 (A)
0.27
5.97
1.27𝑌 2 + 0.27𝑋 2 + 𝑌 (√𝑋 2 − (1 − 𝑋 − 𝑌) ) + 0.54𝑋𝑌 − 0.27 = 0 (B)
0.27
Se obtiene:
5.97 5.97
6.24𝑋 2 + 7.24 ∗ 𝑌 2 + (1 − 𝑋 − 𝑌) 0.27 + 𝑌 (√𝑋 2 − (1 − 𝑋 − 𝑌) 0.27) + 12.48𝑋𝑌 − 6.24 = 0 (D)
Línea de color morado la ecuación C: