Métodos Numéricos E S F M – I P N Tarea 01
Escuela Superior de Física y Matemáticas
Instituto Politécnico Nacional
U.P “Adolfo López Mateos”, Zacatenco, Ciudad de México, México 07738
Métodos Numéricos
Tarea 1
Nombre del alumno:
Jiménez Campero Christian
Correo: libertad4232@hotmail.com
Nombre del profesor:
Adriana Lara López
1. ALGEBRA Y CALCULO
1.1 Teorema Fundamental de la aritmética: Todo número natural mayor que 1, puede
expresarse de manera única como producto de números primos.
1.2 De binario a decimal, en potencias de dos: Dado cierto número binario, por
ejemplo el 1011, tomamos de izquierda a derecha los dígitos del número en
binario. A continuación, dependiendo del lugar del digito, los multiplicamos por
las respectivas potencias de 2 llegando hasta la potencia cero. Finalmente,
sumamos los resultados. El siguiente ejemplo ilustra el procedimiento.
Sea 1011 el número binario que deseamos representar en su potencia de 2 a
decimal, así:
( )
1.3 Multiplicación de dos números binarios de 8 dígitos:
Dados los dos números binarios siguientes: 10101010 (170 en decimal) y
01010101(85 en decimal), multiplicaremos estos dos números.
La multiplicación se hace idéntica al algoritmo usual utilizado en el sistema decimal, solo
utilizando las tablas del 0 y 1. Al final, cuando se suman las columnas, se utiliza la tabla
lógica siguiente:
Siempre recordando que se suman en pares. Es decir:
1
Métodos Numéricos E S F M – I P N Tarea 01
Al multiplicar los dos números binarios deseados (de 8 dígitos cada uno) nos dará un total de 8
renglones con nuevos números binarios, en este caso serían:
El renglón 2, recorrido un dígito hacia la izquierda del renglón 1, el renglón 3 recorrido un digito
hacia la izquierda del renglón 2 y así sucesivamente hasta que el renglón 8 este recorrido un
digito hacia la izquierda del renglón 7. (Aquí a “dígito” me refiero al lugar). Así, al final
obtendremos el número binario: 010001000100010 (8738 en decimal)
1.4 Multiplicación de dos polinomios de grado 4 con coeficientes enteros:
Sean,
dos polinomios de grado 4 con sus coeficientes enteros y distintos de cero. Su producto se
obtiene multiplicando cada término del polinomio dependiente de “x" por cada uno de los
términos del polinomio dependiente de “y”. Así, obtendríamos un nuevo polinomio con 25
4
términos. Así, obtendríamos el siguiente polinomio, para x :
3
Para x :
2
Para x :
1
Para x :
0
Para x :
Siendo la suma de todos estos términos el polinomio resultante. (El procedimiento puede
realizarse de manera inversa, es decir utilizando los términos del polinomio dependiente de “y”)
2
Métodos Numéricos E S F M – I P N Tarea 01
1.5 Definiciones
Sucesión: Es un conjunto de elementos finito o infinito, que poseen un orden especifico.
Serie: Es la suma de todos los elementos de una sucesión.
Convergencia: Se dice que una serie es convergente, si existe el límite cuando n, siendo
el número de elementos, tiende a infinito y este es un número real.
Ejemplo de serie convergente: ∑ , donde converge en 1.
2. Programación
2.1 Diferencias entre lenguaje de programación compilado y lenguaje de
programación interpretado. (ventajas y desventajas)
Para el lenguaje de programación compilado, su principal ventaja es su velocidad. Su
desventaja es su complejidad. A diferencia del lenguaje de programación interpretado, este solo
se puede ejecutar una vez terminado el código mientras que en el interpretado, se puede
modificar el código mientras se ejecuta y se obtienen salidas durante la ejecución. La principal
desventaja del lenguaje de programación interpretado, es su velocidad de ejecución, sin
embargo, su máxima ventaja es su sencillez de codificación.
2.2 Código en C de la multiplicación de matrices nxn
#include <stdio.h>
int main(int argc, char** args){
int af, ac, bf, bc, i, j, k;
printf("Numero de renglones de la matriz A-->");
scanf("%d", &af);
printf("Numero de columnas de la matriz A-->");
scanf("%d", &ac);
printf("Numero de renglones de la matriz B-->");
scanf("%d", &bf);
printf("Numero de columnas de la matriz B-->");
scanf("%d", &bc);
if(ac!=bf){
printf("no es posible hacer la multiplicación\n");
system("pause");
return 0;
}
int A[af][ac], B[bf][bc], C[af][bc]; /*Rutina para cargar los valores*/
for(i=0;i<af;i++){
for(j=0;j<ac;j++){
printf("Escribe el valor de la matriz 1 (%d, %d)-->",i+1, j+1);
3
Métodos Numéricos E S F M – I P N Tarea 01
scanf("%d", &A[i][j]);
}
}
printf("\n\n");
for(i=0;i<bf;i++){
for(j=0;j<bc;j++){
printf("Escribe el valor de la matriz 2 (%d, %d)-->", i+1, j+1);
scanf("%d", &B[i][j]);
}
}
for(i=0;i<af;i++){
for(j=0;j<bc;j++){
C[i][j]=0;
for(k=0;k<ac;k++){
C[i][j]=(C[i][j]+(A[i][k]*B[k][j]));
}
}
}
/*Rutina para imprimir*/
printf("\n\n\t\t\t Matriz A");
printf("\n");
for(i=0;i<af;i++){
printf("\n\t\t");
for(j=0;j<ac;j++){
printf(" %6d ", A[i][j]);
}
}
printf("\n\n\t\t\t Matriz B");
printf("\n");
for(i=0;i<bf;i++){
printf("\n\t\t");
for(j=0;j<bc;j++){
printf(" %6d ", B[i][j]);
}
}
printf("\n\n\t\t\t Matriz C");
printf("\n");
for(i=0;i<af;i++){
printf("\n\t\t");
for(j=0;j<bc;j++){
printf(" %6d ", C[i][j]);
}
}
printf("\n");
}
2.3 Captura de pantalla de Octave.
4
Métodos Numéricos E S F M – I P N Tarea 01
3. Investigación
3.1 Aplicación a la vida real
A la hora de realizar mediciones precisas en un laboratorio de óptica, se requiere
de un lenguaje de programación muy rápido, para poder valorar que las
mediciones sean concisas con las condiciones específicas que se presentan en
el experimento. Por ejemplo, en la obtención de semiconductores y la síntesis de
transistores. (Tengo un amigo que está haciendo su tesis en este tipo de temas y
utiliza elementos de programación para facilitar la obtención de mediciones con
menos incertidumbre )
3.2 Bibliografía:
Steven C. Chapura y Raymond P. Canale “Métodos Numéricos para ingenieros”.
Libros y referencias electrónicas usadas en la realización de la tarea:
-M. Spivak, Calculus
- https://ceciliaurbina.blogspot.com/?m=1 (Código en C)