Anda di halaman 1dari 15

Software de Simulacin

Contenido
Programacin con Matlab
1. Introduccin
1.1. Entorno de Ventanas en Matlab
1.2. Asignacin de Variables
1.3. Comandos
1.4. Operadores Matemticos
1.5. Formato Numricos Para Matlab
1.6. Funciones Internas
2. Matrices
2.1. Definicin
2.2. Operaciones con Matrices
2.3. Matrices Especiales
2.4. Extraccin de Matrices
3. Soluciones A Sistemas De Ecuaciones Lineales
4. Funciones
5. Ficheros
6. Bucles y Bifurcaciones
7. Problemas Propuestos
8. Break and Continue
9. Bibliografa
Software de Simulacin

Programacin Con Matlab

1. Introduccin

1.1. Entorno De Ventanas En Matlab

Matlab consiste en un entorno de ventanas con tres partes:


Command Window: es la ventana en la que se escriben las instrucciones que se
quieren ejecutar.
Current Directory / Workspace: la primera muestra el contenido de la carpeta de
trabajo. La direccin de la carpeta de trabajo se puede cambiar mediante la barra
desplegable que aparece encima de las ventanas.
La ventana Workspace: muestra informacin sobre las variables y objetos
definidos.
Command History: esta ventana muestra los ltimos comandos (instrucciones)
ejecutados.

Ilustracin 1. Entorno de trabajo en Matlab

1.2. Asignacin De Variables

Matlab usa las convenciones de nomenclatura comunes a la mayora de los


programas de cmputo:
Todos los nombres deben comenzar con una letra.
Software de Simulacin

Los nombres pueden tener cualquier longitud, pero en Matlab slo se usan
los primeros 63 caracteres.
Los nicos caracteres permisibles son letras, nmeros y el guion bajo.
Matlab distingue entre maysculas y minsculas por lo tanto las variables
x y X son distintas.
Matlab tiene un conjunto de variables predefinidas:

Ilustracin 2. Variables predefinidas en Matlab (Borja, 2013)

1.3. Comandos
who: muestra las variables que tenemos.
whos: ofrece un listado de las variables definidas en el espacio de trabajo que
incluye informacin adicional sobre su nombre, sus dimensiones como matriz, el
tamao que ocupa en nmero de bytes empleados y si su clase, es decir, el
formato en el cual se almacena.
help nombre: permite acceder a la ayuda del programa para obtener informacin
del dato que hayamos ingresado.
clear: elimina toda la informacin existente en el espacio de trabajo. Si
quisisemos eliminar slo una o varias variables existentes en el espacio de
trabajo, bastar aadirlas en una lista a continuacin, por ejemplo
clear variable1 variable2
clc: limpia la informacin en la ventana de comandos aunque, no la informacin
almacenada en el espacio de trabajo.
exist variable: muestra en la interfaz si la variable ingresada existe; ans=0; ans=1
si no est definida una variable se mostrar error.
Software de Simulacin

1.4. Operadores Matemticos


Matlab maneja operaciones aritmticas entre dos escalares en forma muy
parecida como lo hacen los otros programas de cmputo.

Ilustracin 3. Operaciones en Matlab

1.5. Formatos Numricos Para Matlab


En Matlab estn disponibles algunos formatos de despliegue.

Ilustracin 4. Formatos numricos para Matlab

1.6. Funciones Internas

La gran mayora de los clculos de ingeniera requieren funciones matemticas


como logaritmos, funciones trigonomtricas y funciones de anlisis estadstico.
MATLAB tiene una extensa librera de funciones internas que le permiten realizar
dichos clculos.
Software de Simulacin

Ilustracin 5. Tabla de funciones internas de Matlab


Software de Simulacin

2. MATRICES
2.1. DEFINICIN
Los vectores se definen como una serie de nmeros entre corchetes, separados
por espacios en blanco o comas.

El vector definido es un vector fila. Podemos transponerlo para obtener un vector


columna.

Las matrices se definen como una coleccin de vectores fila de la misma


dimensin, separndose las filas con un punto y coma.

La instruccin size nos da la dimensin de una matriz o vector. La instruccin


length nos da la longitud de un vector, pero no permite saber si se trata de un
vector fila o un vector columna.
Software de Simulacin

2.2. Operaciones Con Matrices


A continuacin, las principales operaciones aritmticas elementales entre matrices
considerando adecuadas las dimensiones de las mismas:
A+B: suma de matrices.
A*B: producto de matrices.
A^n: potencia n-sima de una matriz cuadrada.
A+k: suma un escalar k a todos los elementos de una matriz.
A: traspuesta de una matriz.
det(A): determinante de una matriz cuadrada.
inv(A): inversa de una matriz cuadrada.
rank(A): rango de una matriz de orden mxn.
A\B: divisin izquierda (similar a inv(A)*B).
B/A: divisin derecha (similar a B*inv(A)).
A.*B: producto, elemento a elemento, de dos matrices.
A./B: cociente, elemento a elemento, de dos matrices.
A.^n: potencia n-sima de los elementos de una matriz.
A.^B: potencia de los elementos de una matriz A cuyos exponentes son, elemento
a elemento, los exponentes dados por B.
size(A): calcula el orden de una matriz.
.*: multiplica matrices trmino a trmino
./: divide la matriz trmino a trmino
.^: eleva a una potencia cada element de la matriz
dot(A,B): producto punto de la matriz A y B
cross(A,B): producto cruz entre A y B

2.3. Matrices especiales


A12=randn(size(A)): matriz de nmeros reales aleatorios gaussianos de las
mismas dimensiones que A.
A13=rand(size(A)): matriz de nmeros reales aleatorios distribuidos
uniformemente de las mismas dimensiones que A.
A14=eye(size(A)): matriz identidad de las mismas dimensiones que A.
A15=ones(size(A)):matriz de unos de las mismas dimensiones que A.
A16=zeros(size(A)): matriz de ceros de las mismas dimensiones que A.
fliplr: voltea al matriz de izquierda a derecha
flipud: voltea la matriz de arriba abajo
Software de Simulacin

magic: genera una matriz estrictamente cuadrada, donde los valores de filas y
columnas suman el mismo valor.
sum(A,#): suma las columnas o filas de una matriz

2.4. Extraccin De Matrices


A(i, j): proporciona el elemento aij de la matriz A.
A(i, :): proporciona la fila i-sima de la matriz A.
A(:, j): proporciona la columna j-sima de la matriz A.

3. Soluciones A Sistemas De Ecuaciones Lineales


Se puede encontrar las soluciones a un sistema de ecuaciones de las siguientes
formas:
1) X=inv(A)*B
2) X=A\B
3) X=rref(C)

4. Funciones

Las funciones se crean del mismo modo que un script seleccionado en el men
New/Function y se guardan en un fichero que tiene el mismo nombre que la
funcin y extensin .m

La primera lnea en el editor es la definicin de la funcin que comienza con la


palabra clave function

function variables_salida=nombre_funcion(variables_entrada)
sentencias
end
Software de Simulacin

nombre_funcion, es el nombre significativo que se le asigna a la funcin y


coincide con el nombre del fichero de extensin .m en el que se guarda el
cdigo de dicha funcin. Las reglas para nombrar una funcin son las
mismas que para las variables, los nombres no deben de incluir espacios,
ni se pueden utilizar plabras reservadas por MATLAB.
variables_entrada, es el conjunto de parmetros que se le pasa a la funcin.
Los nombres de las variables van entre parntesis y separadas por coma.
variabales_salida, es el valor o conjunto de valores de las variables
devueltos por la funcin. Las variables de salida van despus de la palabra
reservada function entre corchetes cuadrados y separados por comas si
hay varios.
sentencias, lneas de cdigo que tomando los valores de los parmetros de
entrada calculan mediante expresiones los valores que devuelve la funcin.
end, marca el final de la funcin es opcional (salvo en las funciones
anidadas) pero es conveniente acostumbrarse a ponerlo al finalizar la
funcin.

Opcionalmente, en la segunda lnea se pone un comentario, en el que se explica


la tarea que realiza la funcin. A continuacin, una explicacin detallada sobre las
variables de entrada y de salida

Cuando una funcin no devuelve ningn valor, se define

function nombre_funcion(variables_entrada)

Cuando una funcion no precisa de variables de entrada se define

function variables_salida=nombre_funcion

Cuando una funcin devuelve una solo resultado y se puede escribir, de


dos maneras

function [y]=nombre_funcion(a,b,c) function y=nombre_funcion(a,b,c)

En general, definiremos una funcin del siguiente modo:

function [y1,y2]=nombre_funcion(a,b,c)
Software de Simulacin

con tres argumentos a, b y c variables de entrada y que devuelve dos


resultados en las variables y1 e y2.

Una funcin se llama del mismo modo que las funciones predefinidas. Las
funciones se pueden llamar desde la ventana de comandos, desde un fichero
script o desde otra funcin.

Todas las variables en una funcin son locales a dicha funcin, incluyendo las de
entrada y las de salida.

5. Ficheros
Comandos fopen, fclose y fprintf
Estos comandos sirven para abrir y cerrar ficheros.
Para abrir un fichero, se utiliza el siguiente comando:
variable = fopen(fichero,permiso) donde:

variable es el nombre de la variable que guarda el identificador del fichero.


fichero especifica el nombre externo y la direccin del archivo.
permiso indica el modo de apertura del fichero:
r abre un fichero existente para lectura.
r+ abre un fichero existente para lectura y escritura.
w crea un fichero nuevo para escritura.
w+ crea un fichero nuevo para lectura y escritura.

Destacar que este comando lo que hace es poner en contacto el programa con
un fichero, no lo visualiza en pantalla. Para trabajar con ficheros lo primero ser
abrirlo y lo ltimo cerrarlo.

Para cerrar un fichero se utiliza la funcin: fclose(fid) que cierra el fichero de


identificador fid y devuelve 1 si el cierre es correcto y 0 si es incorrecto.

Para escribir en un fichero se utiliza el comando: fprintf(fid,format,A,....) que


escribe los elementos especificados en A (que en general es una matriz) en el
fichero de identificador fid (previamente abierto) con el formato especificado en
format. As, la funcin fprintf dirige su salida a un fichero indicado por el
indicador.
Software de Simulacin

Formato de datos:
%d
Enteros.
%f
Reales con punto fijo.
%e
Reales con formato exponencial.
%g
Utiliza uno de los formatos anteriores; el que d la mayor precisin en el
menor espacio.
Si se utiliza el comando fprintf(format,A,....) la escritura de datos se realiza en la
pantalla.

6. BUCLES Y BIFURCACIONES

Un aspecto importante a tener en cuenta cuando se escribe un programa (no


importa en qu lenguaje) lo constituyen las sentencias que permiten realizar saltos
entre las diferentes sentencias del programa. Hay casos que lo que se desea es
ejecutar un conjunto de sentencias slo cuando se cumple una cierta condicin.
Esto se consigue mediante la sentencia if, que representa una BIFURCACIN.
En una forma u otra, esta sentencia est presente en todos los lenguajes de
programacin de alto nivel.
En otras ocasiones lo que interesa es ejecutar repetidamente un conjunto de
sentencias un nmero fijo de veces, para ello existe la sentencia for; se
corresponde con un BUCLE.
Software de Simulacin

A veces se desea ejecutar repetidamente un conjunto de sentencias sin conocer


el nmero de veces que se va a ejecutar, para ello existe la sentencia while, que
es tambin un BUCLE.
Las bifurcaciones y los bucles constituyen el ncleo de cualquier lenguaje de
programacin.

7. PROBLEMAS PROPUESTOS
7.1. PROBLEMA 1
Imprimir en una tabla los valores de la funcin exponencial dentro de un
rango.
Software de Simulacin

7.2. PROBLEMA 2
Realizar un programa que imprima una tabla con la transformacin de
pies a pulgadas
Software de Simulacin

7.3. PROBLEMA 3
Obtener el mximo valor de un vector y su posicin correspondiente

8. EJEMPLOS DE BREAK Y CONTINUE


Software de Simulacin

8.1. PROBLEMA 1
Realice el ingreso de un nmero y el programa debe finalizarse al ingresar
2

8.2. PROBLEMA 2
Realizar el logaritmo natural de un nmero mientras sea mayor que cero

9. Bibliografa
MATLAB: An Introduction With Applications, 2/Edition, EDITORIAL
REVERT, S. A.Barcelona,ESPAA, 2006

Anda mungkin juga menyukai