You are on page 1of 28

Métodos Numéricos para Ingeniería Mecánica.

Métodos Numéricos para Ingeniería Mecánica.

Maestría en Ingeniería Mecánica

MATLAB
Departamento: Metal – Mecánica ITV
Métodos Numéricos para Ingeniería Mecánica.

OBJETIVO:
El alumno reconocerá los elementos básicos del lenguaje
MatLab y su ambiente de desarrollo integrado.
Métodos Numéricos para Ingeniería Mecánica.

Entorno de desarrollo integrado de MatLab.


Métodos Numéricos para Ingeniería Mecánica.

COMMAND WINDOW.

Ésta es la ventana en la que se ejecutan interactivamente las


instrucciones de MATLAB y en donde se muestran los resultados
correspondientes, si es el caso.

En cierta forma es la ventana más importante


Métodos Numéricos para Ingeniería Mecánica.

WORKSPACE .

El espacio de trabajo de MATLAB (Workspace) es el conjunto de


variables y de funciones de usuario que en un determinado momento
están definidas en la memoria del programa. Para obtener
información sobre el Workspace desde la línea de comandos se
pueden utilizar los comandos who y whos. El segundo proporciona
una información más detallada que el primero.

Más adelante se verá que cada función tiene su propio espacio de trabajo, con
variables cuyos nombres no interfieren con las variables de los otros espacios
de trabajo.

La ventana Workspace Browser constituye un entorno gráfico para


ver las variables definidas en el espacio de trabajo.
Métodos Numéricos para Ingeniería Mecánica.

COMMAND HISTORY BROWSER.

El Command History Browser ofrece acceso a las sentencias que se


han ejecutado anteriormente en la Command Window. Estas
sentencias están también accesibles por medio de las teclas de
flecha hacia abajo y hacia arriba.

La ventana de Command History facilita mucho el tener una visión


más general de lo hecho anteriormente y seleccionar lo que
realmente se desea repetir.
Métodos Numéricos para Ingeniería Mecánica.

CURRENT DIRECTORY BROWSER

Los programas de MATLAB se encuentran en fichero con la extensión *.m.


Estos ficheros se ejecutan tecleando su nombre en la línea de comandos (sin
la extensión). No todos los ficheros *.m que se encuentren en el disco duro o
en otras unidades lógicas montadas en una red local son accesibles.

Para que un fichero *.m se pueda ejecutar es necesario que se cumpla una
de las dos condiciones siguientes:

1.Que esté en el directorio actual. MATLAB mantiene en todo momento un


único directorio con esta condición. Este directorio es el primer sitio en el que
MATLAB busca cuando desde la línea de comandos se le pide que ejecute
un fichero.

2. Que esté en uno de los directorios indicados en el Path de MATLAB. El


Path es una lista ordenada de directorios en los que el programa busca los
ficheros o las funciones que ha de ejecutar. Muchos de los directorios del
Path son propios de MATLAB, pero los usuarios también pueden añadir sus
propios directorios, normalmente al principio o al final de la lista.
Métodos Numéricos para Ingeniería Mecánica.

Orden de Búsqueda en comandos o funciones.


Supóngase que se utiliza la palabra nombre1 en un comando. El
proceso que sigue el programa para tratar de conocer qué es nombre1
es el siguiente:

1.Comprueba si nombre1 es una variable previamente definida por el usuario.

2. Comprueba si nombre1 es una función interna o intrínseca de MATLAB.

3. Comprueba si nombre1 es una sub-función o una función privada del


usuario

4. Comprueba si hay un fichero llamado nombre1.mex, nombre1.dll o


nombre1.m en el directorio actual.

5. Comprueba si hay ficheros llamados nombre1.mex, nombre1.dll o


nombre1.m en los directorios incluidos en el search path de MATLAB.

Estos pasos se realizan por el orden indicado. En cuanto se encuentra lo que


se está buscando se detiene la búsqueda y se utiliza el fichero que se ha
encontrado.
Métodos Numéricos para Ingeniería Mecánica.

Lenguaje
MatLab
Métodos Numéricos para Ingeniería Mecánica.

Elementos básicos del lenguaje Matlab.

Identificadores. (Las mismas reglas de C.)

Formado de las letras del alfabeto ingles (mayúsculas/minúsculas),


los dígitos del 0-9 y el símbolo de subrayado (_).

El primer carácter debe ser una letra.

Longitud máxima 31 caracteres.

Sensible al tamaño.

Continuación de línea tres puntos suspensivos …

Comentarios se preceden con %.


Métodos Numéricos para Ingeniería Mecánica.

Tipos de datos.

Por defecto todos los elementos son tratados como double en arrays.
8 bytes , 15 cifras decimales exactas

Escalares,. Matrices de más de dos dimensiones.

Vectores. Vectores y matrices de celdas.

Matrices. Estructuras.

String. Clases y objetos.

Valores especiales.

inf , NaN
eps 2.22x10-16
realmin (2.2x10-308) , realmax (1.7977x10308)
Métodos Numéricos para Ingeniería Mecánica.

Algunos comandos de control comunes.

Comando clear.

clear : Elimina todas las variables creadas,excepto las


globales.
clear x,y : Elimina solo las varibles x y y (como ejemplo)

clear global : Elimina todas las variable globales.

clear all : Elimina todas las variable incluyendo las globales.


Métodos Numéricos para Ingeniería Mecánica.

Definición de variables.

Definición de escalares y vectores desde el teclado.

Inicialización.

a = 10; % efecto del; en el comando.

B = [ 1.5 3.2] ; % vector fila separación de los datos por espacio o


coma.
B=[123 … % vector fila de 6 elementos con continuación de
4 5 6]; línea …

C = [ 1.5 ; 3.2 ]; % vector columna la separación entre reglones por


o
C = [ 1.5
3.2 ];
Métodos Numéricos para Ingeniería Mecánica.

Definición de matrices desde el teclado.

d = [ 1 2 3 ; 2 4 6] ; % Matriz de 2 renglones y 3 columnas.

d=[123
2 4 6 ];

Referencia a un elemento individual a través de índices:

d(2,1) % Elemento de la fila 2 y columna 1.


Métodos Numéricos para Ingeniería Mecánica.

Operaciones comunes.

Operaciones básicas.

Transpuesta.

t = a´

El producto de a por su transpuesta dará una matriz simétrica.

s = a * t;

Inversa. (comando inv)

inv(a)
Métodos Numéricos para Ingeniería Mecánica.

Operadores y jerarquía de evaluación..

Jerarquía. Operador Descripción.


Alta ^ Potenciación
* Multiplicación.
/ División
\ Div inversa.
Baja + Suma
- resta
========== ========== ===========

.^
.* ./ .\
Métodos Numéricos para Ingeniería Mecánica.

Números complejos.

MATLAB en forma implícita trabaja con números complejos, por


ejemplo:

>> a = sqrt(4)

a= 0+ +2i

>> b = 2 + 3i

b= 2+ 3i

Se puede utilizar indistintamente i o j para representar la parte


imaginaria del numéro, es conveniente no utilizar estos como
identificadores de variables
Métodos Numéricos para Ingeniería Mecánica.

Cadena de caracteres.

A diferencia de C las constantes de cadena de caracteres se colocan


entre comillas simples o apostrofes.

Ejemplo.

>> s = ‘esto es una cadena de caracteres’;


Métodos Numéricos para Ingeniería Mecánica.

Operador dos puntos ( : ).

x = 1: 10; % vector fila de 10 elementos [ 1 2 3 4 5 6 7 8 9 10]

time = 0: 0.5 :2; % [ 0 0.5 1.0 1.5 2.0 ]

valores = 10: - 1: 1 ; % [ 10 9 8 7 6 5 4 3 2 1]

Como puede verse, este operador por defecto produce vectores fila.

El siguiente ejemplo, genera una tabla de senos y cósenos


Métodos Numéricos para Ingeniería Mecánica.

Extracción de sub-matrices.
Sea a = [ 1 2 3 ;
456;
7 8 9]

>> a[3,:] % Todos los elementos de la tercera fila [ 7 8 9]

>> a[ : , 2:3] % todas las filas de las columnas 2 y 3


% [ 2 3 ; 5 6; 8 9]

>> a[ 1:2:3,2] % primer y tercer fila de la columna 2


%[ 2 ; 8]

>> a([3 2],:) % de la fila 3 y 2 en este orden todas las columnas


% [ 7 8 9; 4 5 6]
a(: ) representa un vector columna, con las columnas de a una
detrás de la otra
Métodos Numéricos para Ingeniería Mecánica.

Formación de matrices a partir de otras.

Un caso especialmente interesante es el de crear una nueva matriz a


partir de otras submatrices previamente definidas.

Ejemplo.
>> a = [ 1 2 3 ];
>> b = a’; Matriz de ceros de 3x3.
>> c = zeros(3);
>> d = [ a , 4 ; c , b];

d=

1 2 3 4
0 0 0 1
0 0 0 2
0 0 0 3
Métodos Numéricos para Ingeniería Mecánica.

Almacenamiento secuencial de una matriz..

Los elementos de una matriz de pueden direccionar a través de un


solo índice, ya que estos elementos se encuentran ordenados por
columna como se ilustra en el siguiente ejemplo.
Métodos Numéricos para Ingeniería Mecánica.

Operadores relacionales.

MATLAB cuenta con los siguientes operadores relacionales, que son


prácticamente los mismo que C exceptuando el de diferencia, pero
como es natural en MATLAB se aplican también a nivel de vectores y
matrices. Estos operadores se aplican elemento a elemento cuando
aplican en vectores matrices.

El resultado siempre que se utiliza un operador relacional es 1 (true)


o 0 (false), de manera general como en el caso de C distinto de cero
equivale a true.
Métodos Numéricos para Ingeniería Mecánica.

Operadores lógicos.

MATLAB cuenta con los siguientes operadores lógicos.


Métodos Numéricos para Ingeniería Mecánica.

Archivos de funciones.

La primera línea (que no sea un comentario si existen) del archivo de


funciones llamado “name.m” que define una función tiene la forma:

function [lista de valores de retorno] = name(lista de argumentos)

Donde name es el nombre de la función. Entre corchetes y separados


por comas van los valores de retorno (siempre que haya mas de uno)
y entre paréntesis también separados por comas los argumentos.

La diferencia importante con otros lenguajes, es que en MATLAB se


pueden tener valores de retorno matriciales.
Métodos Numéricos para Ingeniería Mecánica.

Argumentos de una función.

Una función podría no llevar argumentos, por lo que al llamarse se


podría no colocar los paréntesis, desde luego eso no seria
recomendables por claridad, ya que se podrá creer que se trata de
una variable.

Durante la ejecución una función podría tener argumentos y valores


de retorno variables.

Los argumentos son pasados por ‘valor’, esto quiere decir que los
argumentos reales no serán modificados por la función, si se realiza
una modificación dentro de la función, estas se realizan en la copia
Métodos Numéricos para Ingeniería Mecánica.

Tipo de funciones (librería de herramientas).


Métodos Numéricos para Ingeniería Mecánica.

Funciones matemáticas elementales.

You might also like