BIENVENIDA AL CURSO
USO DE SOFTWARE ESPECIALIZADO
CÁLCULO NUMÉRICO
MÉTODOS NUMÉRICOS
Ing. Patricio Pugarín Díaz, Mgs.
DEPARTAMENTO DE CIENCIAS EXACTAS - ESPE
Clases N° 1 y N° 2
IMPORTANCIA DEL CURSO
Comandos para programación en Matlab
CONTENIDO
Título Bienvenida al curso de Métodos Numéricos con
programación Matlab para el cálculo numérico.
Duración 240 minutos
Información general Resaltar la importancia de la programación con Métodos
Numéricos para resolver problemas de Ingeniería.
Objetivo Conocer y manejar comandos de programación con Matlab,
Octave o Scilab.
1
Clases N° 1 y N° 2
Clase N° 3.-
PRESENTACIÓN DEL CURSO
Bienvenida al curso de Métodos Numéricos.
Importancia de la asignatura para las Ingenierías.
Contenidos programados para la asignatura (Revisión del syllabus).
Lineamientos generales: Software, sobre las evaluaciones y asistencia.
INTRODUCCIÓN AL MATLAB
Reglas Generales
Distingue entre MAYÚSCULAS y minúsculas.
≫ min(𝑎)
≫ MIN(𝑎)
Los espacios en Blanco tienen mucho significado.
Los paréntesis () y corchetes [] tienen significados diferentes.
Las flechas ↑ ↓ permiten recuperar líneas de ejecuciones anteriores.
Las flechas → ← permiten corregir errores.
Para obtener ayuda, se utiliza el comando help.
≫ help 𝑓𝑜𝑟
≫ help 𝑝𝑙𝑜𝑡
2
Clases N° 1 y N° 2
OPERACIONES ARITMÉTICAS
Suma +
Resta - y Producto *
División por la derecha /
División por la izquierda \
Potencia ^
Todas las operaciones se pueden utilizar entre escalares, vectores y matrices;
respetando las reglas matemáticas en todos los casos.
Existen otras operaciones específicas para vectores y matrices
Algunas de las operaciones anteriores precedidas de un punto, u.*v, alteran su
definición.
ALGUNAS IDEAS BÁSICAS
Tipos de archivos: archivos.m
Trabaja siempre con matrices
clear (borra variables), clc (limpia la pantalla)
Inf, ans, NaN, …. (división para cero, ultimo valor, indeterminación)
Funciones: sin(x), cos(x), tan(x), cot(x), sec(x), csc(x), asin(x), acos(x),atan(x),
sinh(x), cosh(x), asinh(x), acosh(x), sind(x), asind(x), exp(x), log(x), log10(x), abs(x),
sqrt(x), ….
gcd(ni,n2), es MCD de n1, n2
lcm(n1,n2), es mcm de n1,n2
factorial(n), calcula el factorial de n
factor(n), descompone n en factores primos
3
Clases N° 1 y N° 2
Ejercicio.-
Calcular el valor de la expresión matemática
4
3 log(14.7) − 6 arcsec(0.978)
arctan(2.3) + 𝑠𝑒𝑛(4.12)ln(2)
Ejercicio.-
Indicar lo que representa la expresión
4 + 3𝑖
Ejercicio.-
Calcular el número complejo
(1-5i)(1-i)/(-1+2i)
Otros comandos de aplicación; siendo z un número complejo
abs (z), calcula módulo del complejo
angle(z), calcula argumento del complejo
conj(z), calcula conjugado del complejo
real(z), calcula parte real del complejo
imag(z), calcula parte imaginaria del complejo
Ejercicio.-
Calcular
𝑆𝑒𝑛(1 + 𝑖)
Ejercicio.-
Calcular el número complejo
(2 + 2𝑖)2
(−3 − 3√3𝑖)90
4
Clases N° 1 y N° 2
Ejercicio.-
Calcular el MCD de 12 y 20
gcd(12,20)
Ejercicio.-
Calcular el MCD de 1000, 500 y 625
gcd(1000, gcd(500,625))
Ejercicio.-
Calcular el mcm de 1000, 500 y 625
𝑙𝑐𝑚(1000, 𝑙𝑐𝑚(500,625))
FORMATOS NUMÉRICOS
format short
pi = 3.1416
format long (16 cifras decimales)
pi = 3.141592653589793
format short e
pi = 3.1416e+000
format long e
pi = 3.141592653589793e+000
format rat (resultados en fracción)
format bank (dos decimales)
pi=3.14
vpa’n1/n2’n (resultado con n cifras significativas)
vpa ’5/17’ 5=0,29412
5
Clases N° 1 y N° 2
Variables y Constantes
Se define mediante nombres, que pueden ser:
Una letra
>> a=8
Una letra seguida de dígitos o más letras
>>b32=9
>>alfa=-6
Nota: Para Matlab a ≠ A
Las variables pueden ser de 3 tipos:
Entero: >> d=9
Flotante (float): >> e=7.56
String: >> a=’texto’
Se pueden hacer operaciones como:
>> d+a
Se tiene como respuesta
>> ans =
125 110 129 125 120 Se calcula como: (125=(t=116)+(d=9))
Que corresponde al valor ASCII + 15, para cada letra.
Se puede preguntar a Matlab si puede ser variable un nombre cualquiera. Por ejemplo:
>> isvarname Nombre
La respuesta es lógica: 1 si es verdadero (SI) y 0 si es falso (NO)
Se puede preguntar a Matlab si es un comando por ejemplo la palabra break
>> iskeyword break
Es este caso la respuesta lógica es 1 que es verdadero (SI)
6
Clases N° 1 y N° 2
El punto y coma ( ; )
Se utiliza al final de una instrucción para que Matlab no imprima el resultado en pantalla
(pero la operación se ha ejecutado).
El Comando diary
Se utiliza para crear un diario de la sección de Matlab (registra en un archivo de texto).
>> diary Pato.doc
>> …..
>> …(líneas de ejecución)…
>> ….
>> diary off
Ejercicios
1) Hallar las combinaciones sin repetición de 30 elementos tomados de 12 en 12, el resto
de la división de 2134 entre 3, la descomposición en factores primos del número
18900, el factorial de 200 y el número 𝑁 que al dividirlo por 16, 24, 30 y da resto 5.
1
𝑋2
2) Dados los números complejos 𝑋 = 2 + 2𝑖 e 𝑌 = −3 − 3√3𝑖, calcular 𝑌 3 , 𝑌 90 , 𝑌 2 y
log(𝑋).
3) Calcular parte real, parte imaginaria, módulo y argumento de los siguientes complejos:
𝑖
𝑖 3+𝑖 , (1 + √3𝑖)1−𝑖 , 𝑖 𝑖
7
Clases N° 1 y N° 2
Generación de Vectores
Se quiere generar el vector v=(1, 3, 5, 7, 9, 11, 13)
FORMA 1
FORMA 2
FORMA 3
NOTA
El elemento 11 del vector v se puede extraer:
>> v(6)
8
Clases N° 1 y N° 2
La pantalla completa al ejecutar en Matlab
Operaciones con vectores
(Mismo número de componentes)
Sean u = (3, -1, 5, 6) y v = (0, -2, -1, 4) 𝜖 𝑅 4
Se pueden realizar las operaciones:
u+v u-v u*v u.*v u^2 u.^2 v’ u*v’
u./v cross(u,v) dot(u,v) norm(u) [y k]=max(v)
[y k]=min(u)
Trabajando con una variable string y con un vector se puede ubicar valores y letras. Por
ejemplo:
9
Clases N° 1 y N° 2
Clase N° 2.-
Generación de Matrices
1 0 0
Se quiere generar la matriz 𝐴 = (0 5 −3), en Matlab:
0 2 9
NOTA.- El elemento 9 de la matriz A se puede extraer
>>A(3,3)
10
Clases N° 1 y N° 2
Longitud de un vector
>> length(v)
Dimensión de una matriz
>>size(A)
Matrices de construcción rápida
11
Clases N° 1 y N° 2
Operaciones con matrices
>> det(A) Calcula el determinante de la matriz A
>> inv(A) Calcula la matriz inversa de A
>> A’ Calcula la matriz transpuesta de A
>>rank(A) Calcula el rango de la matriz A
>> diag(A) Extrae la diagonal principal de la matriz A
>> diag(A,k) Extrae la diagonal k_esima sobre a bajo la diagonal principal
REFERENCIAS BIBLIOGRAFICAS
1. Sánchez Juan Miguel, Problemas de Cálculo Numérico para ingenieros con aplicaciones
Matlab, McGraw-Hill, Primera edición, 2005.
2. César Pérez López, MATLAB a través de ejemplos. IBERGARCETA
PUBLICACIONES, S.L., Madrid 2011.
12