0% encontró este documento útil (0 votos)
255 vistas14 páginas

Guía Básica de MATLAB para Ingeniería

El documento presenta una guía introductoria sobre operaciones básicas en MATLAB. Explica la interfaz del programa, incluyendo la línea de comandos y archivos .m. Muestra ejemplos de operaciones aritméticas y funciones con escalares, vectores y matrices, así como gráficos de funciones. También explica cómo crear "scripts" y definir funciones en archivos .m para su uso en la línea de comandos o como funciones propias de MATLAB.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
255 vistas14 páginas

Guía Básica de MATLAB para Ingeniería

El documento presenta una guía introductoria sobre operaciones básicas en MATLAB. Explica la interfaz del programa, incluyendo la línea de comandos y archivos .m. Muestra ejemplos de operaciones aritméticas y funciones con escalares, vectores y matrices, así como gráficos de funciones. También explica cómo crear "scripts" y definir funciones en archivos .m para su uso en la línea de comandos o como funciones propias de MATLAB.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

GUÍA INTRODUCTORIA SOBRE

OPERACIONES BÁSICAS EN MATLAB


Versión 4.1
Noviembre 2019

PARA USARSE EN LAS ASIGNATURAS DE:

ANÁLISIS ESTRUCTURAL
INGENIERÍA CIVIL MECÁNICA

Autor:
Jorge Zahr Viñuela

1
CONTENIDO

PRESENTACIÓN ...................................................................................................................... 3
1. INTERFAZ ......................................................................................................................... 4
2. LÍNEA DE COMANDOS (algunos ejemplos de uso) ............................................................ 5
2.1. Operaciones aritméticas y funciones con escalares, vectores y matrices.................... 5
2.2. Gráficos de funciones de escalares y vectores. .......................................................... 7
3. ARCHIVOS *.m PARA PROGRAMACIÓN DE “SCRIPTS” Y DE “FUNCIONES” EN MATLAB. 8
3.1. Ejemplo: scripting. .................................................................................................... 9
3.2. Ejemplo: definir una función escalar del tipo y = f (x). ............................................. 10
3.3. Ejemplo: construcción de ciclos iterativos ............................................................... 12
3.4. Ejemplo: Gráfico de un mapa de colores en 2D ....................................................... 13

2
PRESENTACIÓN

MATLAB es un programa comercial para realizar análisis y modelamiento matemático. Entre


sus capacidades más importantes se cuentan:
• Posee un lenguaje de programación propio, potente y relativamente sencillo de usar.
• Posee un amplio catálogo de funciones matemáticas interconstruídas (trigonométricas,
exponenciales, polinomiales, estadísticas, etc…), que pueden usarse para construir
funciones más complejas, evaluarlas y graficarlas.
• Permite trabajar con escalares, vectores o matrices.
• Soporta un amplio rango de operaciones matriciales clásicas (sumas, multiplicación,
potencias, etc.)
• Permite leer datos numéricos externos desde archivos de texto suministrados por el
usuario (para su utilización en algoritmos o para su análisis gráfico)

El presente documento tiene por objeto presentar únicamente el uso de las funciones más
básicas de MATLAB, que constituyen la base sobre la que puedan implementarse distintos
algoritmos de cálculo o procedimientos de visualización.
Utilizando esta guía como punto de partida básico, el estudiante interesado podrá profundizar
por sus propios medios en el conocimiento y aplicaciones del programa, así como progresar en
su capacidad para desarrollar e implementar en forma autónoma algoritmos más complejos
que, durante su desempeño profesional, puedan serle necesarios.

3
1. INTERFAZ

El manejo principal del programa se realiza de dos maneras:


i. A través de la Línea de Comandos, que está en la Ventana de Comandos (Command
Window, ver figura 1).
ii. (opcional) A través de archivos *.m, que es el formato de archivo en que se guardan los
“programas” o las “funciones” creados por los usuarios, en lenguaje MATLAB.
La forma más importante es la línea de comandos, que permite, entre otras, las siguientes
operaciones:
• Asignar valores a variables (sean éstas escalares, vectores o matrices)
• Realizar operaciones aritméticas sencillas con dichas variables (operaciones clásicas
de +,-,*,/,^,etc.)
• Evaluar funciones internas (como seno, coseno, u otras) usando como argumento las
variables previamente definidas.
• Invocar comandos para graficar funciones
• Invocar la ejecución de programas elaborados por el usuario, que estén almacenados
en ficheros .m
• No permite escribir algoritmos complicados (éstos han de escribirse en ficheros .m, que
pueden ser ejecutados desde la línea de comandos).

Línea de
Carpeta de trabajo: Comandos

Es el lugar donde se
almacenan los archivos
*.m (si los hay).

Abajo se muestra el
contenido de la carpeta
de trabajo.

Figura 1. Vista general de la interfaz de usuario (puede variar entre distintas versiones de
MATLAB)

4
2. LÍNEA DE COMANDOS (algunos ejemplos de uso)

2.1. Operaciones aritméticas y funciones con escalares, vectores y


matrices.
a) La línea de comandos es una e) Transposición del vector v anterior:
calculadora sencilla:

b) Definición y suma de variables


escalares: f ) Funciones coseno y valor absoluto

g) Definición de matrices y ejemplos de


transposición, multiplicación
matricial e inversión:

c) Ocultación de resultados intermedios


mediante uso del símbolo ;

d) Definición de un vector fila y posterior


multiplicación por un escalar:

5
h) Operaciones sobre componentes de j) Solución de AX=b en incógnita X, con
una matriz: A,b datos (se dan 2 formas; se
recomienda la de la derecha, con
Observar la diferencia entre b y c: el punto símbolo de división inversa):
en c = a.^2 denota que c es una matriz de
la misma dimensión que a (en este caso 𝐀𝐗 = 𝐛 ⇒ 𝐗 = 𝐀−𝟏 𝐛 (si 𝐀−𝟏 existe)
2x2) y cuyas componentes son los
cuadrados de cada una de las componentes
de a.

i ) Matrices importantes y solución de


sistemas lineales:
Matriz Identidad y matriz de zeros:

Matriz de unos:

Matriz o vector con componentes aleatorias:

6
2.2. Gráficos de funciones de escalares y vectores.
a) Se define la función y = x 2 y se grafica para x = 0,1,2,3,4,5,6,7,8,9,10.
Después del comando Plot, se obtiene la figura de la derecha:

Observación: nótese que la curva que se muestra en la figura es, en realidad, una colección
de puntos unidos por rectas; no es, estrictamente hablando, la gráfica de la función y = x2.

b) Gráfico superpuesto de las funciones y = x2 y z = x2 + 6 sen(8x) para x desde 0 a 10, en


incrementos de 0.05

Después del comando Plot, se obtiene la figura de la derecha:

7
3. ARCHIVOS *.m PARA PROGRAMACIÓN DE “SCRIPTS” Y DE
“FUNCIONES” EN MATLAB.

• Los archivos .m son, esencialmente, archivos de texto. De hecho, podrían ser escritos con
cualquier editor de texto ASCII, tal como “Bloc de notas” de Windows o “Text Edit” de Mac
OS X.
• Matlab incorpora un editor de archivos en su propio entorno de trabajo.
• Los archivos .m pueden contener secuencias de comandos (“scripts”):
• Cualquier comando que se pueda escribir en la línea de comandos (como los comandos de
los ejemplos anteriores) puede también usarse dentro de un archivo .m.
• Los archivos .m pueden contener funciones matemáticas definidas por el usuario:
• A diferencia de una secuencia de comandos, una función recibe unos argumentos, los
procesa y, finalmente, devuelve unos resultados.
• En el caso de “scripts”, el “nombre” de un archivo .m se transforma en un comando que se
puede escribir en la línea de comandos: para ejecutar un archivo .m o programa basta
escribir su nombre en la línea de comandos.
• En el caso de “funciones”, el “nombre” de un archivo .m se transforma en una función que
se puede utilizar del mismo modo en el que se utilizan las funciones intrínsecas de
MATLAB.
• Archivos .m usados como “scripts” se ejemplifican en 3.1 y 3.4, mientras que archivos .m
usados como “funciones” se ejemplifican en 3.2. Usos combinados se muestran en el
ejemplo 3.3.

8
3.1. Ejemplo: scripting.
El archivo test_file.m ha sido escrito en el editor de Matlab. Es invocado desde la línea de
comandos y contiene una secuencia de comandos que realiza las siguientes acciones:
a. Crea una matriz de coeficientes A, y un vector de datos b con componentes aleatorios.
b. Resuelve el sistema lineal A·y = b en incógnita y.
c. Grafica sus resultados en un gráfico de barras.

Figura 2. En la línea de comandos se ha invocado al archivo “test_file.m”. El contenido de este


archivo se muestra en el editor incorporado de MATLAB (arriba, derecha).

9
3.2. Ejemplo: definir una función escalar del tipo y = f (x).
Consideremos la siguiente función: Sea f : ℝ→ ℝ tal que
x → y = f (x) = x 2 sen(x)
La función escalar f representa una función sinusoidal de frecuencia constante 1/2, y cuya
amplitud es variable y creciente en forma parabólica.
Caso A.- Se desea evaluar f para los siguientes valores x = 15, x = 22 y x = 100.
Comentarios: La función se ha escrito dentro de un archivo llamado “sen_parab.m” (ver
figura 3). A su vez, dentro del archivo, a la propia función se le ha llamado
“sen_parab”.
MATLAB requiere poner igual nombre al archivo .m que a la función que ellos contienen.
Nótese que en el código de la función “sen_parab” se ha utilizado notación matricial para
poder evaluar varios argumentos escalares en forma simultánea.

Figura 3. Se muestran 2 formas posibles de llamar a la función “sen_parab”: una es evaluarla


directamente; otra es asignar valores al argumento x para luego
evaluar f (x), asignando el resultado a y.

10
Caso B.- Se desea graficar f para x en el rango 0 ≤ x ≤ 100

Cambiando x=[0:100] por x=[0:0.05:100] se obtiene una gráfica con mejor


resolución:

Figura 4. Gráfico de f (x), entre x = 0 y x = 100 con resolución x =1 (en la figura superior) y
x = 0.05 (en la figura inferior)

11
3.3. Ejemplo: construcción de ciclos iterativos
Se desea obtener el valor de la suma
𝑁

𝑍 = ∑ 𝑓(𝑖) = 𝑓(0) + 𝑓(1) + ⋯ + 𝑓(𝑖) + ⋯ + 𝑓(𝑁)


𝑖=0

donde: f : función “sen_parab” definida en el ejemplo de la sección 3.2


N : número entero, dato del usuario.
Es decir, Z es la suma de las funciones f evaluadas en todos los números enteros desde 0
hasta N.
Comentarios:
La suma Z se calcula con un ciclo iterativo, programado como una función en un nuevo
archivo .m. Este ciclo iterativo hace uso del comando for.
Nótese que la función “suma_z” llama a su vez a la función “sen_parab”, definida
anteriormente en su propio archivo .m.
En la fig. 5 se muestran 2 formas posibles de llamar a la función “suma_z”: una es evaluarla
directamente; otra es asignar un valor al argumento N para luego evaluar suma_z (N ),
asignando el resultado a la variable h = suma_z (N ).

Figura 5. Se muestra el resultado de y posibles llamadas a “suma_z”: una llamada directa y


para asignar h = suma_z (N ).

12
3.4. Ejemplo: Gráfico de un mapa de colores en 2D
Supóngase que en los 4 vértices de un rectángulo se conocen los respectivos 4 valores de
temperatura. Si se conocen las coordenadas de los cuatro vértices del rectángulo, la función
intrínseca fill permite dibujar un “mapa de colores” de la distribución de temperaturas en el
interior del rectángulo.
La función fill se basa, para dicho gráfico, en interpolación bi-lineal de los valores nodales.
Como ejemplo: las coordenadas de los 4 nodos se pueden almacenar en las matrices fila x e y
(cada una de ellas, de tamaño1x4), mientras que las 4 temperaturas de los vértices se
almacenan en la matriz fila T.
Esto se puede escribir directamente en la línea de comandos:
>> x = [0 2 2 0] ; y = [0 0 1 1] ;
>> T = [20 38 22 15];
>> fill(x,y,T) ;

Se obtiene:

Supongamos ahora que tenemos las coordenadas de los vértices de 2 cuadriláteros (no
necesariamente rectángulos) adyacentes y se quiere graficar un mapa de la distribución de
temperaturas.
Para esto, se ha escrito el script “graficar.m”:

13
x = [0 2 2 0] ; y = [0 0 1 1] ;
T = [20 38 22 15];
fill(x,y,T) ;

hold on

x_1 = [2 4 5 2] ; y_1 = [0 0 1.1 1] ;


T_1 = [38 21 12 22];

fill(x_1,y_1,T_1) ;

Al ejecutarlo se obtiene lo siguiente:

14

También podría gustarte