programacion
Post on 10-Jan-2016
3 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
Lenguaje de programacin MATLAB
El software de MATLAB se desarroll originalmente como un Laboratorio de Matrices. (MATrix LABoratory-Laboratorio de matrices).
MATLAB es un sistema interactivo y lenguaje de programacin para cmputo
cientfico y tcnico en general, con un gran desempeo para el clculo numrico y
tratamiento de datos. Su elemento bsico es una matriz.
MATLAB contiene muchas herramientas y utilidades que permiten adems diversas
funcionalidades, como la presentacin grfica en 2 y 3 dimensiones.
MATLAB es un programa command-driven, es decir, que se introducen las rdenes
escribindolas una a una a continuacin del smbolo >> (prompt) que aparece en una
interfaz de usuario (ventana de comandos).
MATLAB es un lenguaje de programacin amigable al usuario con caractersticas ms
avanzadas y mucho ms fciles de usar que los lenguajes de programacin como Pascal
o C, y cuenta con paquetes de funciones especializadas llamadas toolboxes y un entorno
Visual similar al Visual Basic o al C++ Builder.
1. INICIO DEL MATLAB
LAVENTANA DE COMANDOS
Para iniciar MATLAB localice el icono de MATLAB, en su escritorio y haga doble clic
en l. Ante Ud. debera abrirse una ventana como la de la siguiente figura. Esta ventana
(ventana de comandos), es la que Ud. emplear para transmitir rdenes a MATLAB.
Unidad 01
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 2
Fig. Ventana de Comandos
En esta ventana, a continuacin del prompt >>, se puede ingresar directamente las
ordenes o comandos.
>> Comando o instruccin a ejecutar
Ejemplo 1:
Para calcular la expresin matemtica 2 , escribimos sqrt(2),y pulsamos la tecla entrar
>> sqrt(2)
ans =
1.4142
El resultado es desplegado y se guarda en la variable por defecto ans (answer).
Carpeta de
trabajo por
defecto
Prompt
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 3
Ejemplo 2:
Para calcular la expresin matemtica 25 -7 3+4 escribimos 5^2-7*3+4 y pulsamos la tecla entrar
>> 5^2-7*3+4
ans =
8
El resultado es desplegado y se guarda en la variable por defecto ans (answer).
LA VENTANA DE EDITOR DE CDIGO
Cuando la orden u rdenes son de varias lneas de texto, ya no es conveniente
ingresarlos en la ventana de comandos, por eso MATLAB incorpora otra ventana
denominada Editor de cdigo. En esta ventana se puede ingresar el cdigo de un
programa ya sea de una lnea o de cientos de lneas de texto. Adems, esta ventana
interacciona con el resto del entorno.
Para acceder a esta ventana hacer clic en el icono . (nuevo archivo .m).
Estos archivos son los archivos programa del MATLAB. Para correr el programa hacer
un clic en el icono . El programa se ejecutar si el archivo .m ha sido previamente
grabado. Por defecto el archivo .m se graba en el directorio donde se encuentra el
programa MATLAB en la carpeta work.
El programa tambin se puede ejecutar directamente desde la ventana de comandos.
Para ello, activar la ventana de comandos y en ella digitar el nombre del archivo a
continuacin del prompt >> y pulsar la tecla Enter.
Fig. Ventana Editor de Cdigo
VENTANA DE GRAFICOS
Esta ventana se activa por defecto, y muestra el grafico definido previamente mediante
algn cdigo.
Se pulsa para ejecutar el programa
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 4
Ejemplo 3:
Para graficar la funcin 22( ) xf x x e escribir el siguiente cdigo en la ventana de
comandos
>> ezplot('x^2*exp(-x^2)'),grid on
El resultado muestra la siguiente ventana con la grafica de dicha funcin. El dominio de
esta funcin es por defecto: [ 2 ,2 ] .
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
x
x2 exp(-x2)
Ejemplo 4:
Para graficar la funcin ( )f x xSinx escribir el siguiente cdigo en la ventana de
comandos.
>> ezplot('x*sin(x)'), grid on
-6 -4 -2 0 2 4 6
-5
-4
-3
-2
-1
0
1
2
x
x sin(x)
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 5
Ejemplo 5:
Para graficar la funcin 2 22 1( , ) x yf x y x e escribir el siguiente cdigo en la ventana
de comandos
>> ezmesh('x^2*exp(1-x^2-y^2)')
-2
-1
0
1
2
-2
-1
0
1
2
-1
0
1
x
sin(x2+y2)
y
2. ESTRUCTURAS BSICAS DE DATOS.
VARIABLES
No requiere declarar variables. La variable se crea mediante asignacin directa.
Las variables deben empezar con una letra, seguida por cualquier nmero de letras, dgitos o guiones de subrayado. Los caracteres de puntuacin no son permitidos en
las variables.
Las variables son sensibles a las maysculas y minsculas, por lo que las siguientes
variables dolar = 0 y Dolar = 1 son diferentes:
>>dolar=0
dolar
=0
>>Dolar=1
Dolar
=1
Si escribimos un punto y coma al final de la instruccin, MATLAB omite el desplegado
de informacin. Por ejemplo :
>>x=5;
Si se quiere saber el valor de alguna variable capturada slo se tiene que escribir el
nombre de la variable y pulsar la tecla y MATLAB lo despliega. Por
ejemplo:
>>x
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 6
CARACTERES ESPECIALES
[ ]
( )
=
'
'
.
...
,
;
%
Son usados para formar vectores y matrices
Usados para expresiones matemticas
Usado para hacer asignaciones
Transpuesta de una matriz
Usado para escribir texto en un programa
Punto decimal
Al final de una lnea indican que continua en el sgte rengln
Para separar elementos
Para separar filas en las matrices y para evitar que se
despliegue la informacin
Para escribir comentarios
[1 2 3; 4 5 6]
sqrt(2)
x=5
A'
'Ingrese a: '
3.1415
2,3,4,5,6 ....
7,8,9,10 ]
[1,2,3,4]
[ 1 2; 3 4]
%fecha:12/10/11
3. ARREGLOS (ARRAYS)
VECTORES
Para representar un vector fila con n elementos:
SINTXIS:
v = [v1,v2,v3, ,vn]
o tambin
v = [v1 v2 v3 vn]
Por ejemplo, para calcular el seno de " 1 a 4 " con incrementos de 1, se deben capturar
los valores y asignarlos en la variable x, y despus aplicar el seno al vector. MATLAB
opera en radianes, donde = 180.
>> x=[ 1 2 3 4]
x=
1 2 3 4
>> sin(x)
ans =
0.8415 0.9093 0.1411 -0.7568
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 7
MATRICES
Para representar una matriz de mxn elementos
SINTAXIS
M=[a11, a12,a13, ... ,a1n; a21, a22,a23, ... ,a2n; ... ;am1, am2,am3, ... ,amn]
En lugar de las comas se pueden utilizar espacios
>> A=[1,4,-3;5,-7,8;2,5,1;5,6,2] %crea la matriz de 4 por 3
A =
1 4 -3
5 -7 8
2 5 1
5 6 2
OPCIONES PARA MANIPULAR LOS ELEMENTOS DE UNA MATRIZ
A(m,n) Define (devuelve) el elemento (m,n) de la matriz.
m es el numero de filas y n el numero de columnas
A(m, :) Devuelve la msima fila de la matriz A
A(:, n) Devuelve la nsima columna de la matriz A
MATRICES ESPECIALES
diag(A) Devuelve la diagonal de la matriz A como vector columna
eye(n) Crea la matriz identidad de orden n.
zeros(m,n) Crea la matriz nula de orden mxn.
ones(m,n) Crea la matriz de orden mxn, cuyos elementos son unos.
rand(m,n) Crea la matriz aleatoria de orden mxn.
fliplr(A) Devuelve la matriz cuyas columnas estn colocadas en orden inverso (de
izquierda a derecha) a las de A.
size (A) Devuelve el orden(tamao) de la matriz A
length(v) Devuelve el nmero de elementos del vector v
inv (A) Devuelve la matriz inversa de la matriz A
A Devuelve la matriz traspuesta de la matriz A
det(A) Devuelve la determinante de una matriz.
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 8
OPERACIONES ARITMTICAS
x^y potencia xy
x/y divisin x/y
x*y producto xy
x-y diferencia x-y
x+y suma x+y
OPERADORES ARITMTICOS
+ Suma de escalares, vectores o matrices.
- resta de escalares, vectores o matrices.
* producto de escalares, vectores o matrices.
/ divisin escalar o B/A. A y B son matrices
.* producto de escalares o vectores (elemento a elemento).
./ A./B = [A(i,j)/B(i,j)]
^ potencia de escalares o potencia escalar de matriz (Mp)
.^ potencia de vectores A.^B = [A(i,j)B(i,j)]
4. PROGRAMACIN EN MATLAB
Scripts
Un script es una secuencia de instrucciones de MATLAB guardada en un archivo con
extensin .m. Se utiliza la ventana de editor de cdigo
Ejemplo 6:
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 9
Para ejecutar el programa se hace un clic en el cono Save and Run o pulsar la tecla F5.
La ejecucin del programa se visualiza en la ventana de comandos luego de haber
grabado el archivo. Para volver a ejecutar este programa, en la ventana de comandos se
escribe el nombre del archivo tal como se muestra a continuacin.
>> esic2011_p1_1
Ingrese x1: 0
Ingrese y1: 0
Ingrese x2: 4
Ingrese y2: 0
Ingrese x3: 2
Ingrese y3: 2
4
SENTENCIAS DE CONTROL
SENTENCIAS CONDICIONALES
SENTENCIA if
Esta sentencia permite ejecutar una instruccin o grupo de instrucciones si la condicin
es verdadera.
condicion
Instrucciones
V F
SINTXIS
if condicion
Instruccin o grupo de instrucciones
end
condicin: expresin lgica
SENTENCIA if - else
Si la condicin es verdadera se ejecuta la instruccin o grupo de instrucciones 1, si la
condicin es falsa se ejecuta la instruccin o grupo de instrucciones 2.
condicionV F
Instrucciones 1 Instrucciones 2
SINTXIS
if condicion
Instruccin o grupo de instrucciones1
else
Instruccin o grupo de instrucciones2
end
condicin: expresin lgica
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 10
SENTENCIA switch
La sentencia switch ejecuta ciertas instrucciones basados en el valor de una variable o
de una expresin.
expresion
Valor 1
Inst. 2Inst. 1 Inst. 3 Inst. n
Valor 2 Valor 3 Valor n
expresin:
variable que toma uno de los valores
SINTXIS
switch expresion
case Valor 1
instrucciones1
case Valor 2
instrucciones2
case Valor 3
instrucciones3
...
oterwise
instruccin cuando no
cumple ningn caso
end
SENTENCIAS REPETITIVAS
EL BUCLE for
Esta sentencia permite ejecutar en forma repetitiva una instruccin o grupo de
instrucciones varias veces.
, ,v vi inc vf
Instrucciones
SINTXIS
for v = vi : inc: vf
Instruccin o grupo de instrucciones
end.
vi: valor inicial
inc: incremento
vf: valor final
EL BUCLE while
Esta sentencia permite ejecutar en forma repetitiva una instruccin o grupo de
instrucciones bajo el control de una condicin lgica.
condicion
Instrucciones
V
F
SINTXIS
while condicion
Instruccin o grupo de instrucciones
end.
condicin: expresin lgica
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 11
FUNCIONES CREADAS POR EL USUARIO. DEFINICIN DE FUNCIONES
SINTXIS
function [parmetros de salida] = nombre de la funcin (parmetros de entrada)
Cuerpo de la funcin
Una vez definida la funcin se guarda en un archivo .m para su uso posterior. Escriba
comentarios entre % , al cual se acceden con el comando help
Si los parmetros de salida son mas de uno se sitan entre corchetes y separados por
comas. Si los parmetros de entrada son ms de uno, se separan por comas.
Cada comando o instruccin en el cuerpo de la funcin suele ir en una lnea que finaliza
con una coma o punto y coma o una coma seguida de tres puntos sucesivos.
LLAMADA DE FUNCIONES
SINTXIS
[variables de retorno] = nombre de la funcin (parmetros actuales)
EJEMPLO: Crear la funcin f(x)=x3-2x+cosx
Cdigo de la funcin
function y = f(x)
%la funcion evalua f(x)=x^3-2*x+cos(x)
y=x^3-2*x+cos(x);
Grabar el archivo con extensin .m. El nombre del archivo es el mismo nombre que el
de la funcin. Este archivo se graba por defecto en la carpeta work del directorio del
MATLAB. Se puede utilizar la funcin desde la ventana de comandos o desde cualquier
programa en MATLAB
>> f(2)
ans =
3.5839
EVALUACIN DE UNA FUNCIN
FUNCION feval
SINTXIS
feval(fun, arg1, arg2, arg3, ... ,arg N)
donde fun viene a ser el nombre de la funcin (archivo .m)
EJEMPLO: Evaluar la funcin f(x)=x3-2x+cosx
>> feval('f',3) %f.m es el nombre de la funcin
ans =
20.0100
-
Curso: Calculo Numrico
MSc. Javier Lozano Marreros 12
FUNCION inline
Convierte una cadena en una funcin
SINTXIS
f = inline (expresion, arg1, arg2, arg3, ... ,arg N)
EJEMPLOS:
>>g = inline('t^2')
g =
Inline function:
g(t) = t^2
>> w=inline('x^2+y^2+z^2','x','y','z')
w =
Inline function:
w(x,y,z) = x^2+y^2+z^2
PROGRAMAS QUE SE EJECUTAN EN LA VENTANA DE COMANDOS
ENTRADA DE DATOS
Para la entrada de datos se utiliza la funcin input
variable = input (texto);
Donde variable es un identificador vlido, en la que se va a almacenar el valor que se va
a ingresar por teclado.
EJEMPLO:
a=input('ingrese el coeficiente a: ')
SALIDA DE DATOS
Para la salida de datos se utiliza la funcin disp
disp(expresion);
Donde expresin puede una variable o cadena de caracteres.
EJEMPLO:
disp('La suma es: ');
disp(s);
FUNCION sprintf
Escribe una cadena con formato. Retorna una cadena de caracteres.
SINTXIS
cadena = sprintf(formato,variables)
Por ejemplo, cad = sprintf('%8.6f',x) muestra la variable x con 6 decimales
top related