Sei sulla pagina 1di 49

1.1.1.

AMBIENTE DEL PROGRAMA Y COMANDOS


BASICOS
MatLab es un programa interactivo para computacin numrica y visualizacin
de datos. Es ampliamente usado por Ingenieros de Control en el anlisis y
diseo, posee adems una extraordinaria versatilidad y capacidad para
resolver problemas en matemtica aplicada, fsica, qumica, ingeniera,
finanzas y muchas otras aplicaciones. Est basado en un sofisticado software
de matrices para el anlisis de sistemas de ecuaciones. Permite resolver
complicados problemas numricos sin necesidad de escribir un programa.
MATLAB es un entorno de computacin y desarrollo de aplicaciones totalmente
integrado orientado para llevar a cabo proyectos en donde se encuentren
implicados elevados clculos matemticos y la visualizacin grfica de los
mismos.
MATLAB integra anlisis numrico, clculo matricial, proceso de seal y
visualizacin grfica en un entorno completo donde los problemas y sus
soluciones son expresados del mismo modo en que se escribiran
tradicionalmente, sin necesidad de hacer uso de la programacin tradicional.
Uso de Matrices
MatLab emplea matrices porque con ellas se puede describir infinidad de cosas
de una forma altamente flexible y matemticamente eficiente. Una matriz de
pixeles puede ser una imagen o una pelcula. Una matriz de fluctuaciones de
una seal puede ser un sonido o una voz humana. Y tal vez ms
significativamente, una matriz puede describir una relacin lineal entre los
componentes de un modelo matemtico. En este ltimo sentido, una matriz
puede describir el comportamiento de un sistema extremadamente complejo.
Por ejemplo una matriz puede representar el vuelo de un avin a 40.000 pies
de altura, o un filtro digital de procesamiento de seales.
MATLAB es el nombre abreviado de MATRIX LABORATORY, es una
herramienta informtica para realizar:

Clculos numricos con vectores y matrices. Como caso particular


tambin puede trabajar con nmeros escalares tanto reales como
complejos, con cadenas de caracteres y otras estructuras de informacin
ms complejas.
Amplia variedad de grficos en dos y tres dimensiones
Simulaciones
Programacin mediante su propio lenguaje.

En la grfica de la parte superior se muestra el ambiente de trabajo (IDE) que


permite interactuar con el programa:
1) Command Window: Ventana de interaccin directa de comandos.
2) Current Directory: Directorio de ruta actual de trabajo en el computador.
3) Command History: Muestra los comandos o instrucciones previamente
ejecutados, historia del trabajo realizado por cada sesin y fecha.
4) Workspace: Espacio de trabajo usado en determinado momento por
variables y funciones de usuario.
5) Men Principal: Permite administrar/configurar el ambiente de trabajo por
medio de opciones.
Notas de inters para su utilizacin:
Los programas escritos en MatLab presentan la extensin *.m
Desde la lnea de comandos (command window) se puede invocar las
diferentes ayudas de los comandos que se utilizan en esta herramienta:
>>help
>>help lang
En la primera instruccin se mostraran todos los temas intervenidos, indicando
su ruta de instalacin.
Con la segunda se mostraran las instrucciones para utilizar en el lenguaje de
programacin.
Para limpiar la ventana de comandos se debe teclear la palabra clc y finalizar
con enter (lo cual se debe hacer para todas las instrucciones que se quiera
ejecutar), si la lnea de la instruccin no se desea ejecutar se debe finalizar con
punto y coma (;)
En muchas ocasiones resulta necesario interrumpir el trabajo (sesin de
trabajo), y continuarlo posteriormente, para ello en matlab se cuenta con la
grabacin de variables y estados de sesin mediante los comandos sabe y
load.
>>sabe
Antes de abandonar el programa se crea en el direcorio actual un fichero
binario llamado matlab.mat con el estado de la sesin (excepto los graficos).
Al iniciar nuevamente al programa se debe teclear (si se desea continuar la
sesin interrumpida)
>>load
COMANDOS BASICOS
Nmeros y operaciones bsicas
El programa trabaja con diferentes tipos de nmeros y expresiones numricas:
nmeros enteros, racionales, reales y complejos.

Operaciones bsicas
Comenzaremos realizando con el programa las operaciones ms bsicas entre
nmeros. Trabajamos en la ventana de Command window y para ello se utilizan
las convenciones matemticas estndar.
Por ejemplo, para sumar (figura 6):
>> 2+2
ans 4
Figura 6
En general las operaciones bsicas a realizar se hacen segn la siguiente tabla
y con la jerarqua habitual entre ellas:

Nota: Por defecto Matlab trabaja con unos dgitos de aproximacin para
nmeros decimales. Esto puede cambiarse.

Estableciendo la precisin de los clculos

MATLAB trabaja siempre en doble precisin, es decir, guardando cada dato en


8 bytes, con 15 cifras decimales exactas. El formato con el que los datos
aparecen en pantalla es variable. Existen varios modos de trabajo, se indican a
continuacin los ms significativos:

El modo de trabajo por defecto en MATLAB es format short.

Ejemplos:

>>3^100
5.1538e+047

>>5+pi
8.1416
>>format short e

>>3^100
5.1538e+047

>>5+pi
8.1416 e+000

>>format long

>>3^100
5.153775207320113e+047

>>5+pi
8.14159265358979

>>format long e

>>3^100
5.153775207320113e+047

>>5+pi
8.141592653589793e+000

>> format rat

>> 5+pi
920/113

Tecleando format se vuelve al formato por defecto, es decir, format short.

Nmeros complejos

Matlab integra perfectamente el trabajo con nmeros complejos. La letra


minscula i j representa el nmero imaginario 1 (la unidad imaginaria).
De esta manera los nmeros complejos se representan mediante expresiones
del tipo a+bi a+bj.

Existen funciones especficas que actan sobre los nmeros complejos:


Variables
Las variables en Matlab tienen forma matricial: fila y columna. As, si
trabajamos con una variable unidimensional se crea con la forma de una fila y
una columna. Para hacerlo slo debemos teclear el nombre elegido e igualarlo
a su valor:
>> a=8

Guardar variables y recuperarlas


Normalmente es de gran inters guardar los valores de las variables con las
que se ha trabajado en una sesin. Bien porque debe interrumpirse la misma y
quiere recuperarse ms adelante, o bien para utilizarse en nuevos trabajos
relacionados con el que se ha realizado.

La forma ms bsica de guardar las variables es a travs del men File o del
botn de guardar situado en la ventana del Workspace (figura8):
O a travs de del men desplegado al pinchar con el botn derecho del ratn
sobre la variable situada en el Workspace (figura 9). Esta opcin nos permite
guardar slo las variables seleccionadas. Destacar que esto tambin ofrece la
posibilidad de eliminar la variable. Algo que puede hacerse de forma global
desde el men Edit, submen Clear

Workspace.

Figura 9
Realizar cualquiera de estos procesos nos permite crear un fichero de
extensin .mat con el nombre deseado cuyo contenido sern las variables que
se quieren guardar. Al hacerlo, si lo guardamos en el directorio actual
aparecer dicho fichero en la lista de los que tenemos a nuestra disposicin.

Si en una nueva sesin queremos recuperar dichas variables slo tenemos que
cargar el fichero .mat, bien pinchando dos veces sobre su nombre en la
ventana del directorio actual o bien a travs del men File, submen Open.

Guardar sesiones de trabajo


Existen varios caminos para guardar lo realizado en una sesin de trabajo o en
parte de ella:

Copiar la parte que nos interese del Command Window y abrir un fichero .m.
(figura 10).

Figura 10

1.1.2. COMANDOS PARA OPERACIONES


ARITMETICAS
Para realizar los clculos aritmticos (suma, resta, multiplicacin, divisin y
potenciacin) con MATLAB es suficiente tener en cuenta:
Smbolos utilizados para las operaciones:

Orden de prioridad de las operaciones: las expresiones se evalan de izquierda


a derecha; la operacin potencia tiene el orden de prioridad ms alto, seguido
por multiplicacin y divisin que tienen ambas igual prioridad y seguidas,
finalmente, por suma y resta con igual prioridad.
Se pueden emplear parntesis para alterar esta ordenacin, en cuyo caso la
evaluacin se inicia dentro del parntesis ms interno y se prosigue hacia
afuera.
Ejemplo Realizar los siguientes clculos:

Solucin: En la ventana de comandos se escribe

Variables
Hasta aqu los clculos se realizan igual que en una calculadora. La
introduccin de variables ofrece nuevas posibilidades. Supongamos que
queremos calcular el rea de un tringulo de base 21.3 m y altura 12.6 m. De
acuerdo con lo visto en la seccin anterior, este clculo se puede realizar as:

Otra posibilidad es utilizar las variables base, altura, rea y realizar los clculos
de la siguiente forma:

Las variables base, altura, rea permanecen en el espacio de trabajo con los
ltimos valores asignados y pueden ser llamadas o modificadas cuantas veces
se desee.
Observacin: La modificacin de la variable altura no cambia el valor de la
variable rea si sta no se vuelve a calcular

Reglas para nombrar variables

Las letras maysculas y minsculas son distintas a efectos de nombrar


variables. Por ejemplo, son diferentes las variables base, Base, BASE.
El nombre de una variable puede tener hasta 31 caracteres; si hubiese
ms seran ignorados.
El nombre de una variable debe comenzar obligatoriamente por una
letra. Puede contener letras, nmeros y el guin de subrayado (_); no se
permiten espacios en blanco.
No es conveniente nombrar variables mediante expresiones que tengan
un significado especfico en MATLAB: Por ejemplo, no es aconsejable
utilizar log como nombre de variable ya que sta es la designacin de la
funcin logartmica en MATLAB.
Como regla general es aconsejable que el nombre de una variable sea
indicativo de su contenido.
Algunas variables predefinidas en MATLAB
Hay algunas variables que, por defecto, tienen un valor asignado. Podemos
citar:

ans Es la variable que, por defecto, contiene los resultados.


pi Contiene el valor del nmero real .
eps Es el nmero positivo ms pequeo que sumado a 1 genera un
nmero mayor que 1 en el ordenador.
Inf o inf Representa el valor infinito. Se obtiene, por ejemplo, en caso de
overflow o divisin por cero.
NaN o nan (Not a Number) Representa una expresin indeterminada, por
0
ejemplo: 0 .

i o j Representa la unidad imaginaria i = j = 1


Borrar variables
Para borrar variables se utilizan las rdenes:

clear x y Borra las variables x e y.


clear Borra todas las variables de la sesin de trabajo.

Funciones predefinidas
MATLAB incorpora una serie de funciones que se corresponden con las
funciones matemticas ms utilizadas.
Para las funciones elementales en MATLAB se utiliza la siguiente
notacin:

La correspondencia con la notacin que se usa habitualmente en matemticas


es la siguiente:

En particular, exp(1) proporciona el nmero e=2.7182...


Otras funciones predefinidas en MATLAB de uso frecuente son:

1.2.1 Notacin para la representacin de vectores y


matrices
Notacin
Operaciones con matrices

Algunos tipos de matrices


Ms tipos de matrices

Matrices invertibles
1.2.2 Operaciones elemento a elemento
Operaciones con Escalares
Las expresiones que contienen escalares y operaciones escalares pueden
evaluar y almacenar en una variable especificada, como en la siguiente
instruccin, que especifica que los valores de a y b se sumen y la suma se
almacene en x:
Esta instruccin de asignacin debe interpretarse as: el valor que est en a se
suma al valor que est en b y la suma se alacena en x.

Es importante tener presente que una variable solo puede almacenar un valor
a la vez.
Las operaciones aritmticas entre dos escalares se muestran en la siguiente
tabla:

Operaciones con Arreglos


Las operaciones de arreglos se ejecutan elemento por elemento. Por
ejemplo, suponga que A y B son vectores de fila con cinco elementos. Una
forma de generar un nuevo vector de fila C cuyos valores sean los productos
de los valores correspondientes de A y de B es la siguiente:

Estos comandos son en esencia comandos escalares porque cada uno


multiplica un solo valor por otro y almacena el producto en un tercer valor. Para
indicar que queremos realizar una multiplicacin elemento por elemento entre
dos matrices del mismo tamao, usamos un asterisco precedido por un punto.
As, las cinco instrucciones anteriores pueden ser sustituidas por la siguiente:

No poner el punto antes del asterisco es una omisin grave porque en tal caso
la instruccin especifica una operacin de matrices, no una operacin elemento
por elemento.
En el caso de la suma y la resta, las operaciones de arreglos y las de matrices
son iguales, as que no necesitamos distinguir entre ellas. En cambio; las
operaciones de arreglos para multiplicacin, divisin y exponenciacin son
diferentes de las operaciones de matrices para multiplicacin, divisin y
exponenciacin, as que necesitamos incluir un punto para especificar una
operacin de arreglos. Estas reglas se resumen en la siguiente tabla:

Las operaciones elemento por elemento, u operaciones de arreglos, no solo se


aplican a operaciones entro dos matrices del mismo tamao, sino tambin a
operaciones entre un escalar y un no escalar. As, las dos instrucciones de cada
uno de los siguientes juegos de instrucciones son equivalentes para una matriz
A:

Las matrices resultantes B y C tendrn el mismo tamao que A.

1.2.3. Comandos que generan matrices


Matrices en Matlab Para introducir una matriz en Matlab se procede de la forma
siguiente. Si por ejemplo tenemos la matriz
A = 1 2 3 4 5 6 7 8 se introduce como:
>>A=[1 2 3 4; 5 6 7 8]
A = 1 2 3 4 5 6 7 8 O bien,
>>A=[1,2,3,4;5,6,7,8];
Observemos que unas matrices especiales son los vectores, de esta forma, el
vector fila v = (1.0, 1.1,1.2,1.3, . . . , 1.9,2.0), se escribe en Matlab como
>>v=[1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0]
2. Operaciones y comandos para Matrices Hemos visto cmo se introducen las
matrices en Matlab. Veamos un ejemplo para introducir algunos de los
comandos bsicos: Ejemplo 1 Operaciones Elementales Definimos dos
matrices:
>>A=[2 1;3 2] A=2132
>>B=[3 4;-1 5] B = 3 4 -1 5
Para sumar las dos matrices:
>>A+B
ans = 5 5 2 7
Para multiplicar una matriz por un escalar:
>>3*A
ans = 6 3 9 6
Producto de matrices:
>>C=A*B C = 5 13 7 22
Siempre que los tamaos de las matrices sean los adecuados. Para saber cul
es el tamao de una matriz con la que estamos trabajando,
>>size(A)
ans = 2 2 Que quiere decir, evidentemente, 2 filas y 2 columnas.
Para calcular la matriz transpuesta:
>>A ans = 2 3 1 2

1.2.4 Operaciones entre matrices


Declaracin de una matriz de 3x3

Dada una matriz:


>> A=[1 -2 3;4 1 -1;2 -1 3];
>> B=[ 11; 4; 10];

A =
2
-3
1

Nota: Se usa "[" para empezar a declarar la matriz; se cierra con "]". Para
pasar a la segunda fila agrego un ";" y cada componente esta separado por
un "espacio". Recuerde que si no quiere ver la salida del comando ingrese
";" al final.

Suma de matrices

Suponga que quiero hacer la siguiente operacin entra las matrices a y b. Cabe
aclarer que las matrices tiene que ser de las mismas dimensiones, para este
ejemplo se definieron dos matrices de 2x2.

Cdigo en Matlab:

>> a=[2 .5;1 3];b=[2 1;.5 3]; %Declaracin de las matrices.


>> a+b

ans =

4.0000 1.5000
1.5000 6.0000

Multiplicacin de matrices

Para multiplicar dos matrices (axb), "a" tiene que tener la misma cantidad
columnas que la cantidad de filas que b. El resultado de la multiplicacin sera
entonces igual a la cantidad de filas de "a" y tendra tantas columnas como "b".
Dada una matriz A de 3 filas x 3 columnas(3x3) y una matriz B de 3x2;
podemos verificar que el producto es posible y el resultado de la multiplicacin
sera de una matriz de 3x2.
Ejemplos en Matlab:

A=[0.1 0.3 0.3;2 3 9;2 4 1];


>> B=[2 3;1 1;1 10];
>> A*B
ans =
0.8000 3.6000
16.0000 99.0000
9.0000 20.0000

Que pasa ahora si le pedimos a Matlab que haga el producto de BxA??

Inversa de una matriz

Dada una matriz A:

Quiero calcular la inversa de dicha matriz:

>> A=[0.1 0.3 0.3;2 3 9;2 4 1];


>> inv(A)
ans =
-15.7143 0.4286 0.8571
7.6190 -0.2381 -0.1429
0.9524 0.0952 -0.1429

Clculo del determinante

Dada una matriz A, se desea calcular el determinante de dicha matriz.

Cdigo en Matlab:

>> A=[1 2 3;2 3 4;3 4 5]


>> det(A)
ans =
0

Matriz Transpuesta

Para calcular la traspuesta de una matriz en matlab utilizo el carcter especial


"'".

Ejemplo en Matlab:
>> A=[2 .5;1 3]

A =

2.0000 0.5000
1.0000 3.0000

>> A'

ans =

2.0000 1.0000
0.5000 3.0000

Seleccin de un componente de una matriz


Por ejemplo selecciono el componente de la fila 1 columna 2.

>> A=[1 10;2 3];


>> A(1,2)
ans =
10

Seleccin de toda la fila 1:

>> A(1,:)
ans =
1 10

OPERACIONES CON MATRICES


1.3.1. SUB INDICES DE VECTORES Y MATRICES
Se pueden definir subvectores o submatrices muy fcilmente. Si definimos v
como:
>> v = [0:2:8]
v=
0 2 4 6 8
Podemos definir un vector e que sean las tres primeras componentes del vector
v como:
>> e=v (1:1:3)
e=
0 2 4

Esta orden es equivalente a la siguiente, pues cuando el incremento es la


unidad:
>> e=v (1:3)
e=
0 2 4
Como comentamos al principio, la notacin usada por Matlab sigue en lo
posible la notacion estandar de Algebra Lineal que ya conoceis. Es muy
sencillo multiplicar matrices y vectores, teniendo cuidado de que las
dimensiones sean las adecuadas.

>> A*v(1:3)
??? Error using == *
Inner matrix dimensions must agree.
>> A*v(1:3)

ans =
16
28
46

Acostmbrate a ver ese mensaje de error! Una vez que empiezas a trabajar
con vectores y matrices, es sencillo olvidar los tamaos de los objetos que has
creado.

1.3.2. DIMENSION.
Sintaxis
d = size(A)
[m, n] = size(A)
d = size(A, n)
Supongamos que Aes un m-by- nmatriz simblica o numrica. La declaracin d
= size(A) devuelve un vector numrico con dos componentes enteros, d =
[m,n].
La instruccin de asignacin mltiple [m, n] = size(A) devuelve los dos
nmeros enteros en dos variables independientes.
La declaracin d = size(A, n) devuelve la longitud de la dimensin especificada
por el escalar n. Por ejemplo, size(A,1) es el nmero de filas de Ay size(A,2)es
el nmero de columnas de A.
Ejemplos Las declaraciones abcd syms
A = [abc; abd; DCB; cba];
d = size (A)
r = size (A, 2)
ans.
d=
43
r=
3

1.3.4. Redimensionamiento de matrices

La funcin reshape

Teniendo en cuenta como se almacena una matriz en MatLab, fcilmente


podemos comprender que el tamao de una matriz no es importante y que
solo es necesario una pequea funcin para dar a una matriz la forma que
queramos (siempre que el nmero de elementos no cambie). La funcin
MatLab que permite redimensionar una matriz es reshape.
Como con las otras funciones, para obtener ayuda acerca de esta funcin
escribe en la ventana de MatLab help reshape o doc reshape para obtener
ayuda ms detallada.
Para comprender la accin de la instruccin reshape, tan solo debemos saber
que redimensionando una matriz T en una matriz M, los elementos de T son
tomados en orden creciente de su indexacin lineal y son colocados en M en el
mismo orden.
B = reshape(A,sz)
ejemplo
B = reshape(A,sz1,...,szN)
ejemplo
Descripcin

B = reshape(A,sz)forma de nuevo A usando el vector de tamao, sz para


definir size(B). Por ejemplo, reshape(A,[2,3])forma de nuevo A en una matriz
de 2 por 3. Sz debe contener al menos 2 elementos, y prod(sz)debe ser el
mismo que numel(A).

B = reshape(A,sz1,...,szN) remodela A en un sz1-by- ...-by- szN matriz en


donde sz1,...,szN indica el tamao de cada dimensin. Puede especificar una
nica dimensin del tamao []para tener el tamao de dimensin incluye de
forma automtica, de manera que el nmero de elementos en B coincida con el
nmero de elementos en A. Por ejemplo, si Aes una matriz de 10 por 10,
entonces reshape(A,2,2,[])cambia la forma de los 100 elementos de A en una
matriz de 2 por 2-por-25.

Cambiar la forma de un vector 1-por-10 en una matriz de 5 x 2.

A = 1:10;
B = cambio de forma (A, [5,2])
B=
16
27
38
49
51

1.3.5 Eliminar filas y columnas de la matriz


Usted puede borrar filas y columnas de una matriz mediante la asignacin de
la matriz vaca []a esas filas o columnas. Empezar con
A = magic (4)
A=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
A continuacin, elimine la segunda columna de Ausar
A (:, 2) = []
Esto cambia la matriz A de
A=
16 3 13
5 10 8
9 6 12
4 15 1
Si se elimina un solo elemento de una matriz, el resultado no es una matriz
ms. As como expresiones
A (1,2) = []
Resultar en un error. Sin embargo, puede utilizar la indexacin lineal para
eliminar un solo elemento, o una secuencia de elementos. Esta nueva forma a
los elementos restantes en un vector fila:
A (2: 2: 10) = []
Resultados en
A=
16 3 6 13 12 1
1.4 Graficas en dos dimensiones
El comando bsico para graficar es plot. Cuando es usado con un solo vector
como argumento, grfica en el eje X el ndice del componente del vector, y en
el eje Y, el valor de ste.

>> x=[3 2 6 5 3];


>> plot(x)

Lo que nos da como resultado esta imagen:

Si se entregan dos vectores en la funcin plot (stos deben ser del mismo tamao), el
primer vector pasa a ser la lista de coordenadas del eje X, y el segundo, la lista del eje Y.
Grfico del sen

Este es otro ejemplo de como utilizar la funcin plot ingresandole las 2 variables x e y. Cabe
notar que tambin se activo la grilla para poder visualizar con ms precisin los detalles de los
cruces por ceros, etc.

>> x=0:0.1:4*pi; %Genero un vector de una dimensin el primer valor


es cero y despus se va incrementando a razn de 0.1 hasta 4 pi.
>> plot(x,sin(x)); %Grfico el seno de x.
>> grid on %Activo la grilla.

Para mayor informacin, ejecute help plot.

1.5 Graficas y su edicin

1.5.1 Elementos y estilos de una grafica


MATLAB tiene un gran potencial de herramientas grficas. Se pueden dibujar los
valores de un vector frente a otro (de la misma longitud):
>>x=pi*(-1:0.1:1);
>>y=x.*sin(x);
>>plot(x,y) % Por defecto une los puntos (x(i),y(i)) mediante una poligonal
Como se ve, con pocos puntos la grfica tiene un aspecto demasiado lineal a
trozos. Para "engaar" al ojo, basta tomar ms puntos.

>>x=pi*(-1:0.01:1);
>>y=x.*sin(x);
>>plot(x,y)

Tambin pueden dibujarse funciones. As:


>>fplot(f,[0 2*pi]) % Dibuja la funcin annima sin(x) (definida antes) en el
intervalo [0,2*pi]

>>hold on % Mantiene en la ventana grfica los dibujos anteriores

>>fplot(g,[0 2*pi]) % Dibuja, sobre la grfica anterior, la funcin simblica cos(x)


definida anteriormente

>>hold off % Con esto olvida los dibujos anteriores y dibuja en una ventana
nueva

>>fplot(@(x) x.^2.*sin(1./x),[-0.05 0.05]) % Dibuja la funcin x^2*sin(1/x)

Tambin puede usarse el verstil comando ezplot (easy-to-use plot) que permite
dibujar funciones definidas mediante cadenas de caracteres,

>>ezplot('exp(x)') % Dibuja la funcin exponencial en un intervalo adecuado a la


funcin

curvas en paramtricas,

>>ezplot('sin(t)','cos(t)',[0 pi])

e implcitas

>>ezplot('x^2-y^2-1')

Tambin permite dibujar superficies. La forma ms sencilla es mediante el


comando ezsurf,
>>ezsurf('sin(x*y)',[-2 2 -2 2])

aunque se pueden realizar grficas ms sofisticadas:

>>t=0:0.001:0.009;
>>v=900:1025;
>>[T V]=meshgrid(t,v);
>>aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2);
>>aux2=aux1+(2*V-1929).^2;
>>w=T./aux2;
>>z=35000000*w;
>>surfl(t,v,z) % Dibuja la superficie creada mediante las rdenes anteriores.
>>shading interp % Este comando y el siguiente sirven para modificar el dibujo
obtenido.
>>colormap(pink)
>>rotate3d % Sirve para girar la figura mediante el ratn.

1.5.3 Graficas superpuestas

1.6 Graficas en el espacio


Representacin de superficies
a) Representa la superficie de ecuacin 2 2 z x y en el
rectngulo
R [ 3,3] [ 3,3]. Dibuja en una misma figura seis grficas
probando los comandos: surf, surfc, mesh, meshc,
contour, contour3 y plot3.
b) Representa la superficie del apartado a) utilizando las
ecuaciones paramtricas,
2 x u v cos , sen , y u v zu
para 0 5, 0 2 u v .

Solucin:
Cdigo Matlab:
(a) [X,Y]=meshgrid(-3:.2:3,-3:0.2:3);
Z=X.^2.+Y.^2;
subplot(2,3,1); surf(X,Y,Z)
subplot(2,3,2); mesh(X,Y,Z)
subplot(2,3,4); surfc(X,Y,Z)
subplot(2,3,5); meshc(X,Y,Z)
subplot(2,3,3); plot3(X,Y,Z)
subplot(2,3,6); contour(X,Y,Z,6)
(b) u=0:.1:5;v=0:pi/50:2*pi;;
[U,V]=meshgrid(u,v);
X=U.*cos(V); Y=U.*sin(V); Z=U.^2;
subplot(2,2,1); surf(X,Y,Z)
subplot(2,2,2); mesh(X,Y,Z)
subplot(2,2,3); meshc(X,Y,Z)
subplot(2,2,4); contour3(X,Y,Z,8)

Representacin paramtrica de curvas (a) Representar la hlice


circular cos sen con 2 x t yt t t z (b) Representar
la hlice elptica cos 2sen con 5 x t yt t t z

Solucin: Cdigo Matlab (a) %Se define el rango del parmetro. Se


declaran %las variables en funcin del mismo y, por la %instruccin
plot3 se dibuja la hlice circular sobre el %espacio.
t=linspace(0,4*pi,1000);x=cos(t);y=sin(t);z=t/(2*pi); plot3(x,y,z); grid
on %Declarando el parmetro simblicamente podemos %representar
la hlice circular a travs de la %instruccin ezplot3 syms t
x=cos(t);y=sin(t);z=t/(2*pi); ezplot3(x,y,z,[0,4*pi]) %Se explicita el
dominio del parmetro, ya que %por defecto MATLAB hubiese tomado
el intervalo [0,2*pi] (b) t=linspace(0,4*pi,1000); x=cos(t); y=2*sin(t);
z=t/5; plot3(x,y,z) %Para ver el dibujo con la misma escala en los
%tres ejes slo necesitamos escribir axis equal

1.7 Edicion y control de graficas


1.7.1 Graficas 3D utilizando el comando EZ
Las libreras de funciones ez contienen las siguientes para realizar graficos 3D.
1. Ezplot3(). Esta funcin permite graficar curvas paramtricas en el
espacio. Supongamos que una curva paramtrica en el espacio viene
dada por las funciones x(t), y(t), z(t) ezplot3() por defecto asumir que t
(0,2). Ejemplo.
2. Ezcountour(). Las generacin de curvas de nivel de curvas de nivel es
sumamente sencilla con la funcin ezcontour(). Tan solo especificamos
la funcin de la forma z=f(x,y) y podemos especificar el dominio de x e y
deseando, por defecto x, y (-2, 2). Por ejemplo.

3. Ezsurf(). Para producir sorprendes graficos 3D todo lo que necesitas es


especificar la funcin a dibujar de forma z=f(x,y) y especificar el dominio
para graficar. Por ejemplo

4. Ezsurfc(). Para combinar las curvas de nivel y grafica de una superficie,


utilizamos esta variante de ezsurf(). Por ejemplo
1.7.2 Comando Inline fuction
Matlab nos proporciona lo que conocemos como inline functions o en espaol
como funciones en linea o de linea, esto nos permite crear en la misma
ventana de comandos, una corta funcin que puede ser llamada de forma
repetida, supongamos que quiero hacer una funcin f(x) = sen(x)/x, entonces
la sintaxis es la siguiente.

Como pueden ver, solo basta con poner el nombre la funcin, seguidamente el
signo igual (=) y luego el comando inline(), dentro de este, el cuerpo de
la funcin debe ser escrito entre comillas simples ( ) como si estuvisemos
definiendo una cadena de caracteres. As cuando ingresemos un valor, este
ser evaluado en la funcin y se retornar el valor respectivo al terminar la
ejecucin de la misma, por ejemplo.
Con lo anterior nos ahorramos entonces, tener que reescribir esa expresin
cada vez que la necesitemos evaluar o tener que guardarla como
una funcin genrica en un archivo en disco, tambin evitamos tener que usar
por ejemplo variables simblicas, las cuales para ser evaluadas o manipuladas
requieren de una mayor cantidad de procesamiento por parte de Matlab, si
tenemos en cuenta que necesitamos hacer muchas operaciones con
dicha funcin, entonces las variables simblicas generaran perdidas de tiempo
y un mayor esfuerzo computacional, lo contrario ocurre si usamos funciones en
linea, ya que no necesitamos funciones como subs() polyval() o feval() para
evaluar valores en ellas.
Existen unas reglas bsicas para el uso efectivo de este tipo
de funciones en Matlab y son las siguientes:
La expresin matemtica puede contener una o ms variables
independientes, f(x,y,z,n).
Se puede usar cualquier letra como variable independiente
excepto i y j (porque son las constantes complejas de Matlab).
La expresin matemtica puede contener cualquier funcin de Matlab o
las que sean definidas por el usuario.
La expresin se debe escribir segn la dimensin de
los argumentos de entrada (por ejemplo operaciones elemento a
elemento cuando se trabaja con vectores o matrices).
La expresin no puede incluir variables predefinidas en el workspace (no
tiene acceso a ellas).
Una vez que se define la funcin, sta puede ser usada tecleando su
nombre y pasando sus argumentos de entrada como en el ejemplo
anterior.
Una funciones inline (o de linea), tambin se puede usar como
argumento de entrada en otras funciones.
A modo de ejemplo vamos a definir la siguiente funcin de forma inline.

Entonces procedemos a crear una funcin que llamaremos por ejemplo F y la


declararemos inline como se ve en la siguiente figura.

Y evaluemos ahora esa funcin en un valor arbitrario, esto se hara de la


siguiente forma (cmo es de esperarse).
1.7.3 Controloladores de graficas
Los sistemas de control en lazo abierto estn compuestospor una seal de
entrada que acta sobre los elementos quecontrolan el funcionamiento de la
mquina o proceso, y a lasalida se obtiene la seal controlada. En este tipo
desistemas de control la seal de salida no tiene efecto sobrela accin de
control ya que en lazo abierto no se mide lasalida ni se realimenta para
compararla con la entrada.Estos sistemas se representan mediante el siguiente
esquema:

Fig1 Sistema de control en lazo abierto

1.7.4 Asignando valores a las propiedades


1.7.5 Modificando una grafica existente
Hay varias funciones que se pueden usar de forma combinada para modificar
la apariencia de la superficie resultante.
box on o box of grid on o grid of axis on o axis of
La funcin box on slo dibuja una caja si axis on ha sido seleccionada.
1.7.6 Guardar e imprimir una grafica
Omite el punto y coma al final de un comando de MATLAB para provocar que
MATLAB de una salida de los resultados del comando en la ventana de
comandos. Esta es una caracterstica bsica de la sintaxis de MATLAB que se
aplica a los comandos que ejecutas de forma manual, as como los comandos
de los programas. Dejar de lado el punto y coma con demasiada frecuencia
probablemente har que la ejecucin del programa sea demasiado difcil de
seguir, pero recibir la salida de ciertas lneas clave de cdigo a medida que un
proceso se ejecuta es una tcnica de depuracin muy til. Escribe el nombre de
una matriz o de otra variable y pulsa Enter para ver la ventana de comandos.

Guarda una matriz en un archivo utilizando el comando "Guardar". Esto no es


una forma de formatear los datos para la presentacin, sino simplemente una
manera de almacenar los datos de salida para su posterior recuperacin. He
aqu un ejemplo, el cual guarda las matrices "xfactor" y "yresults" a un archivo
llamado "outputfile:"

save outputfile xfactor yresults

Si slo escribes "save" y el nombre del archivo, todas las variables actualmente
en la memoria, sern guardadas. Utiliza "cargar" con el nombre del archivo
para recuperar tu trabajo durante una sesin posterior de MATLAB.
Utiliza el comando "dlmwrite" para guardar una matriz como un archivo de
texto legible. El ejemplo siguiente guarda la matriz llamada "x" en un archivo
llamado "output.txt:"

dlmwrite ('output.txt', x)

Con esta sencilla forma del comando, las entradas de cada fila de la matriz se
separarn por comas y cada fila estar en su propia lnea. Utiliza la siguiente
sintaxis para utilizar espacios en lugar de comas:

dlmwrite('output.txt',x,' ')

Puedes utilizar cualquier carcter que desees en lugar del espacio. Este
caracter se llama el delimitador.

1.8 Carpetas y archivos en MatLab


1.8.1 Trabajando con carpetas y archivos
Importar y exportar datos Antes de estudiar opciones ms complejas, es
interesante comentar que la opcin de copiar y pegar (Copy/Paste)
puede ser adecuada en muchos casos. Por ejemplo, copiar elementos de
Excel y depositarlos en Matlab entre corchetes funciona con frecuencia.
Nota: Esta opcin puede generar problemas por ejemplo, segn se
hayan introducido los nmeros decimales.
Utilizando el Current Directory Si tenemos un fichero .txt, .data,... y lo
hemos situado en el directorio actual de trabajo en Matlab, pinchando
sobre l con el botn derecho tenemos la opcin Import Data (figura 28).
Se abre entonces un men donde se nos ofrecen posibilidades como
elegir entre varios separadores de columnas. Si todo est como
queremos la pestaa Next crea una variable con el nombre del fichero y
el contenido del mismo que ya puede ser usada en la sesin de trabajo.
Esta opcin de Matlab nos permite trabajar de forma muy simple en
caso de ficheros de datos adecuados.
Comandos 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. 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. Ejemplo: Creamos un fichero ASCII de nombre resultados que
contiene los valores de la funcin exponencial para valores de la variable entre
0 y 1 separados una dcima y lo representamos en la pantalla. >>x=0:.1:1
>>y=[x;exp(x)]; >>fid=fopen(resultado.txt,w); >> fprintf(fid,%6.2f
%12.8f \n, y); Este programa escribira en el fichero resultado.txt los siguientes
valores: 0.00 1.00000000 0.10 1.10517092 0.20 1.22140276 0.30 1.34985881

1.8.2 Archivos de datos con extensin MAT


Los archivos con la .mat extensin son archivos que estn en el formato contenedor de
datos binarios que utiliza el programa MATLAB. La extensin fue desarrollado por
Mathworks y archivos MAT se clasifican como archivos de datos que incluyen variables,
funciones, matrices y otra informacin. Archivos MAT se pueden guardar en una variedad
de formatos, siempre y cuando los usuarios deciden guardarlos en una versin que
pertenece a las Preferencias de MATLAB. Existen los llamados nivel 4 archivos MAT en
matrices bidimensionales y cadenas de caracteres son compatibles y tambin hay los
archivos de nivel 5 MAT que varias cosas se incluyen como las clulas matrices, objetos,
matrices numricas multidimensionales, estructuras y matrices de caracteres. Archivos
MAT tambin son tiles cuando se trata de representar audio en varios formatos como
entero con signo de 16 bits, 8 bits entero sin signo y punto flotante de 64 bits. Mathworks
Matlab es el software utilizado para abrir archivos MAT. Se trata de una aplicacin
utilizada para desarrollar algoritmo, visualizar y analizar datos, as como para calcular
nmeros.
Los documentos MAT son Archivos 3D asociados con Freelancer Model Textures File
(Microsoft Corporation).
Antes de querer abrir el archivo .mat dentro del software se debe hacer lo siguiente dentro del
rea de cdigo de matlab.

>>clear all
>>close all
load ('archivo.mat');

plot(x,y);

1.8.3 Importar archivos de datos


MATLAB es un software comnmente utilizado para el anlisis de datos
experimentales que pueden provenir de distintas fuentes, incluidos otros
programas. La forma de procesar estos datos externos es importarlos a
MATLAB.

De forma anloga, los datos calculados por MATLAB pueden ser


transferidos o exportados a otras aplicaciones. Aunque existen distintos
tipos de datos (nmeros, texto, audio, grficos e imgenes).

Veremos exclusivamente cmo importar y exportar datos numricos, que


es probablemente el tipo de datos ms comnmente usado en este tipo de
transferencias de informacin. Para otros tipos de datos puede consultarse
la ayuda de MATLAB.

La importacin se puede llevar a cabo mediante comandos o utilizando

Los comandos son tiles cuando el formato de los datos importados es


conocido. MATLAB posee varios comandos que pueden ser utilizados para
importar distintos tipos de datos. Los comandos de importacin se pueden
incluir en un archivo script, de forma que los datos se importen dentro del
programa y antes de ser procesados por este.

El Asistente de Importacin de Datos es til cuando el formato de los datos


(o el comando utilizado para la importacin de datos) no es conocido. Este
asistente determina el formato de los datos y posteriormente los importa
automticamente.

Veamos cmo transferir datos desde/hacia hojas de clculo Excel.


Microsoft Excel es una herramienta muy utilizada para la gestin de datos,
adems los datos que maneja esta aplicacin son altamente compatibles
con bastantes tipos de dispositivos y aplicaciones convencionales.

Para llevar a cabo la importacin de datos desde Excel se utiliza el


comando xlsread. Este comando importa los datos de una hoja de clculo
Excel a una variable de tipo array. La forma ms simple de utilizar este
comando es:
nombre_variable= xlsread('nombre_archivo')

La ubicacin del archivo debe ser el directorio de trabajo actual o bien


estar en la ruta de bsqueda.

Si el archivo Excel importado tiene ms de una hoja de clculo slo se


importan los datos de la primera de las hojas.

Si un archivo Excel contiene ms de una hoja, se puede utilizar otra


versin del comando xlsreadpara decidir cul de ellas importar:

nombre_variable=xlsread('nombre_archivo','nombre_hoja')
El nombre de la hoja debe introducirse como cadena.

Otra opcin permite importar slo una regin de una hoja de clculo
determinada a partir de un archivo Excel:
nombre_variable=xlsread('nombre_archivo','nombre_hoja','rango')

El 'rango, es una regin rectangular de la hoja definida por la direccin de


las celdas con respecto a las esquinas opuestas (sup-izq:inf-der) p/e
'C2:E5'

La utilizacin del Asistente de Importacin de Datos permite importar


datos a MATLAB de una forma sencilla, sin tener que hacer suposiciones
previas sobre el formato de los datos. Este asistente se activa utilizando la
opcin FileImportdata.

Tambin se puede activar tecleando el comando uiimport desde la propia


Ventana de Comandos.

Si usted selecciona un archivo de datos del directorio actual y hace doble


clic en el nombre del archivo, se lanza el lmport Wizard (asistente de
importacin).

El lmport Wizard determina qu tipo de datos hay en el archivo y formas


de representar los datos en MATLAB.

MATLAB no soporta todos los posibles formatos de datos. Puede encontrar


una lista completa al escribir:
Doc fileformats

El asistente comienza visualizando una ventana de seleccin de archivos


que muestra todos los archivos y formatos reconocidos por el asistente.

Cualquier tcnica para lanzar el Import Wizard requiere una interaccin


con el usuario. Si quiere cargar un archivo de datos desde un programa
MATLAB, necesitar usar forzosamente comandos explcitos para la
importacin.
El usuario debe seleccionar el archivo en cuestin que contiene los datos a
importar, y despus pulsar Open (Abrir). Seguidamente el asistente abre el
archivo y visualiza una parte de los datos en una ventana de pre-
visualizacin, de forma que el usuario pueda verificar que los datos son los
correctos.

El asistente tratara de procesar los datos, y si lo consigue entonces


visualizar las variables que ha creado con una parte de los datos. Cuando
el usuario pulsa el botn Next (Siguiente), el asistente muestra los
separadores de columnas utilizados para la estructuracin de los datos.

Si los datos son apropiados, el usuario puede proceder, pulsando de nuevo


Next (Siguiente), o escoger un separador diferente de columnas para los
datos.

En la siguiente ventana, el asistente muestra el nombre y el tamao de las


variables creadas en MATLAB.

Cuando los datos son numricos, las variables tendrn el mismo nombre
que el archivo importado.

Una vez que el asistente ha finalizado, pulsando el botn Finish (Finalizar),


los datos se importan en MATLAB.
1.8.4 Archivos con extensin M
Empezando a trabajar con ficheros .m

En Matlab tienen especial importancia los ficherosM de extensin .m.


Contienen conjuntos de comandos a ejecutar o definicin de funciones y se
ejecutan al teclear su nombre en la lnea de comandos y pulsar intro (si se
encuentra en el Current Directory) o al pinchar sobre l en Current Directory
con el botn derecho del ratn y elegir run. Representan el centro de la
programacin en Matlab.
Un fichero .m puede llamar a otros ficheros .m y ficheros de comandos pueden
ser llamados desde ficheros de funciones. En estos casos es importante tener
en cuenta la definicin de las variables a utilizar, en la lnea de que tengan un
tratamiento local o global. Por defecto, Matlab considera las variables locales,
es decir, aunque varias funciones tengan la variable x, sta es diferente en
cada caso a no ser que haya sido definida como global.
Son ficheros de texto sin formato y que pueden crearse a partir de un editor de
textos, no obstante, lo mejor es utilizar el editor del propio programa al que se
accede por defecto al abrir un nuevo fichero.

Editor
Para crear un nuevo fichero .m elegimos new M-File del men File o elegimos el
icono correspondiente. Aparece entonces la pantalla del editor/Debugger
donde podemos ir escribiendo las sentencias.
En el caso de la figura 1 el fichero contiene comentario, dos sentencias y otro
comentario. Las sentencias seguidas de (;) no se mostrarn en pantalla al
ejecutar el fichero.

Figura 1
El editor muestra en diferentes colores los diferentes tipos de comandos:
Verde para los comentarios.
Rojo para las cadenas de caracteres.
Negro para las sentencias.

Una posibilidad de ejecutar el fichero es elegir Run del men Debug


(primeramente debe guardarse con un nombre). Es posible ejecutar el mismo
por partes incluyendo breakpoints lo que puede hacerse con el icono de los
puntos rojos. Si se tienen estos puntos de parada se contina de uno a otro con
la opcin de Continue. Es posible visualizar el valor que van tomando los
distintos elementos del fichero posndonos con el ratn sobre ellos (figura 2).
Es interesante ir conociendo los dems botones y mens del editor que nos
permite eliminar los breakpoints, terminar la ejecucin,.... Resulta muy til para
detectar errores y corregirlos y en general para programar
Figura 2
Si se desea modificar o visualizar un fichero .m ya creado, es suficiente con
abrirlo desde Open en el men File o hacer doble Click en su nombre desde el
Current Direcrory. Ambas opciones dan acceso al editor y al fichero.
Ya se ha introducido que existen dos tipos de ficheros .m. Se comentarn con
ms detalle cada uno de ellos.

Ficheros de comandos. Programas propios del usuario

Estos ficheros, tambin llamados scripts, contienen listas de comandos que se


ejecutan sucesivamente cuando se ejecuta dicho fichero, es decir cuando se
escribe el nombre del fichero en la lnea de comandos y se pulsa intro. Es
importante destacar que en estos ficheros, las variables que se crean
pertenecen al espacio base del Matlab, algo que no ocurre en los ficheros de
funcin donde las variables pertenecen slo al espacio de trabajo de esa
funcin. Puede comprobarse esto ejecutando el fichero de la figura 2.

Definicin de funciones

En general, el programa tiene un gran nmero de funciones incorporadas, bien


se trata de funciones intrnsecas, es decir, del propio cdigo ejecutable lo que
las hace muy rpidas y eficientes, o bien se trata de funciones definidas en
ficheros, normalmente .m, que vienen con el programa. A todo ello se unirn
las funciones creadas por el propio usuario. La importante diferencia de estas
ltimas es que, para que el programa pueda trabajar con ellas, el
correspondiente fichero .m debe estar en el directorio actual o en el path.
El trabajo con funciones y el propio concepto de funcin en Matlab es parecido
al que se tiene en C y en otros lenguajes de programacin. Toda funcin
tendr:

Un nombre. Por ejemplo: f.


Unos argumentos. Van a continuacin del nombre y entre parntesis,
separados por comas si son ms de uno. Por ejemplo: f(x) f(x,y).
Unas salidas o retornos que son el resultado de la funcin. La ventaja de
Matlab es que pueden ser valores matriciales mltiples que se recogern
en diversas variables que se agruparn entre corchetes. Por ejemplo:
p=f(x) [p,q]=f(x).

Funciones de librera

Ya conocemos, si no puede consultarse la ayuda, los diversos tipos de


funciones que tiene el programa. Se clasifican en:

Funciones matemticas elementales.


Funciones especiales.
Funciones matriciales elementales.
Funciones matriciales especficas.
Funciones para la descomposicin y/o factorizacin de matrices.
Funciones para anlisis estadstico de datos.
Funciones para anlisis de polinomios
Funciones para integracin de ecuaciones diferenciales ordinarias.
Resolucin de ecuaciones no-lineales y optimizacin.
Integracin numrica.
Funciones para procesamiento de seales.

Existen funciones (las matemticas trascendentes y algunas bsicas) que


actan sobre escalares o sobre cada elemento de una matriz. Por ejemplo:
>> sin(0)
ans =
0
>> A=[1 2 3]
A=
123
>> sin(A)
43
ans =
0.8415 0.9093 0.1411
>>
Existen otras que slo actan sobre vectores, no sobre escalares ni matrices.
Por ejemplo, max(x), min(x) devuelve el elemento mximo y mnimo de entre
los elementos del vector x. Tambin nos dan la posicin donde se encuentra.
>> A=[1 2 3]
A=
123
>> max(A)
ans =
3
>> [p,q]=max(A)
p=
3
q=
3
>>
De igual forma, otras funciones slo se aplican sobre matrices. Son las que se
encuentran en el grupo de funciones matriciales elementales, funciones
matriciales especiales y funciones de factorizacin y/0 descomposicin
matricial. Por ejemplo trace(A) que nos da la traza de la matriz A, [p,q]=eig(A)
nos da los valores propios y vectores propios asociados a la matriz A.

Funciones creadas por el usuario

La palabra function escrita al comienzo de un fichero .m nos permite definir


una funcin constituyendo una de las aplicaciones ms importantes del
programa. Su sintaxis es la siguiente:
function parmetros de retorno=nombre de la funcin
(argumentos)
cuerpo de la funcin
Es muy importante incidir en que los argumentos o variables de la funcin son
de carcter local, es decir, no interfieren con otras variables del mismo nombre
que hayan sido definidas en otra parte del programa, otros ficheros .m o en la
ventana de trabajo. Para que una funcin tenga acceso a variables que no se
hayan definido como parte de sus argumentos, stas deben definirse como
globales tanto en el programa principal como en los ficheros .m dnde se
quiera tener en cuenta. El comando es global x,y,.....
El siguiente ejemplo, figura 3, define una funcin f que calcula el cuadrado del
valor que se desee:

Figura 3
Es importante destacar:

En este caso existe un argumento o variable de entrada: x, y un retorno


o salida: p.
Si no ponemos los (;) despus de la definicin de funcin y el retorno, al
ejecutar desde la lnea de comandos, el resultado saldra por duplicado o
triplicado, el valor de f(x), el de p y el de ans.
Para finalizar debemos guardar el fichero. Al hacerlo, el programa por
defecto nos sugiere como nombre el de la propia funcin. Es aconsejable
usarlo para evitar confusiones entre los ficheros y las propias funciones.
Tambin debemos acordarnos de guardarlo en el directorio donde
trabajamos para tener acceso inmediato a la funcin. Si no lo hacemos
as, para utilizarla deberemos antes situarnos en el directorio donde la
hayamos grabado.
Es posible poner todos los comentarios necesarios para, en un futuro
recordar lo que hace esa funcin. Si tecleamos en la lnea de comandos
help seguido del nombre de la funcin, nos aparecern los comentarios
que en su da escribimos en dicho fichero (figura 4).
Figura 4

Destacar tambin que esta funcin se aplica sobre cualquier tipo de


entrada para la que est definida la operacin. En este caso si lo
aplicamos sobre un vector o una matriz no cuadrada nos dar un
mensaje de error. S se aplica sobre matrices cuadradas calcula el
producto de dicha matriz por ella misma. Si queremos que la funcin f se
aplique sobre todo tipo de matrices calculando el cuadrado de cada
elemento es suficiente con definir la operacin con el punto delante:
function p=f(x);
p=x.^2

1.8.5 Path en MatLab


Modificacin del PATH de Matlab.

Por defecto, Matlab trabaja con la carpeta C:\matlab\work e inicialmente


todos los archivos que no se encuentren en esa carpeta u otras que ya hayan
sido configuradas no son reconocidas por el programa. De ah que se
recomiende al grupo de prcticas que se cree una carpeta dentro de
C:\matlab\work, que la active para que la reconozca Matlab, y que a partir de
entonces todos los archivos sobre los que trabaje se encuentre dentro de esta
carpeta.
El procedimiento para activar una carpeta en matlab sera el siguiente:
1. Crear una carpeta dentro de la carpeta C:\matlab\work.
2. Dentro de matlab, elegir la opcin Set Path (Fig. 5).
3. Aparecer una ventana de configuracin del path (Fig. 6), elegir la
carpeta correspondiente y salvarla.
4. En caso de que pregunte si queremos guardar la configuracin para
sesiones futuras, decirle que s.

Figura 5. Opcin de configuracin de path.

Figura 6. Ventana de configuracin del path.

1.9 Programacion en Matlab


Para escribir un programa con MATLAB habr que crear un fichero que tenga
extensin .m y contenga las instrucciones. Esto se puede hacer con cualquier
editor de textos, pero tiene algunas ventajas usar el editor propio de MATLAB
llamado medit.
MATLAB trabaja con memoria dinmica, por lo que no es necesario declarar las
variables que se van a usar. Por esta misma razn, habr que tener especial
cuidado y cerciorarse de que entre las variables del espacio de trabajo no hay
ninguna que se llame igual que las de nuestro programa (proveniente, por
ejemplo, de un programa previamente ejecutado en la misma sesin), porque
esto podra provocar conflictos. A menudo, es conveniente reservar memoria
para las variables (por ejemplo, si se van a utilizar matrices muy grandes); para
ello, basta con asignarles cualquier valor. Del mismo modo, si se est usando
mucha memoria, puede ser conveniente liberar parte de ella borrando (clear)
variables que no se vayan a usar ms.
Un programa escrito en MATLAB admite la mayora de las estructuras de
programacin al uso y su sintaxis es bastante estndar. En los siguientes
ejemplos se muestra la sintaxis de algunas de estas estructuras (if, for,
while,...).

Ejemplo 1: Calcular la suma de los n primeros trminos de la sucesin 1, 2x,


3x^2, 4x^3, ...
n=input('Cuntos trminos quieres sumar? ');
x=input('Dame el valor del numero x ');
suma=1;
for i=2:n
suma=suma+i*x^(i-1);
end
disp('El valor pedido es')
disp(suma)

Ejemplo 2: Decidir si un nmero natural es primo.


n=input('Nmero natural que deseas saber si es primo ');
i=2;
primo=1;
while i<=sqrt(n)
if rem(n,i)==0 % Resto de dividir n entre i
primo=0;
break
end
i=i+1;
end
if primo
disp('El nmero dado es primo.')
else
disp('El nmero dado no es primo.')
disp('De hecho, es divisible por:')
disp(i)
end
Ejemplo 3: Escribir un nmero natural en una base dada (menor que diez).
n=input('Dame el nmero que quieres cambiar de base ');
base=input('En qu base quieres expresarlo? ');
i=1;
while n>0
c(i)=rem(n,base);
n=fix(n/base); % Parte entera de n/base
i=i+1;
end
disp('La expresin en la base dada es:')
i=i-1;
disp(c(i:-1:1))
1.10 Animacion en graficas

Curso: Mtodos Numricos.


Catedrtico: Ing. Hctor Samuel Lpez Sosa.
Quinto Ciclo, Seccin nica.
Carrera: Ingeniera en Sistemas y Ciencias de la Computacin.
Ambiente de programa y Comandos
Bsicos

Miguel Abdias Lpez Bravo 0903-14-11793


Luis Fernando Orozco Prez 0903-13-21854
Edvin Fernando Figueroa Montiel 0903-14-14320
Alfredo Salvador Ixcoln Dardn 0903-10-1877
Jorge Mario Cifuentes Garca 0903-13-15688

INTRODUCCION:
A continuacin, se le presenta el trabajo de investigacin el
cual contiene el entorno grfico y alguno de los comandos
bsicos que usan en Matlab, tambin abarca lo que se puede
hacer usando esta gran herramienta.
Su uso puede ser tanto a nivel de formacin acadmica o para
resoluciones cientficas.
MatLab es un programa interactivo para computacin
numrica y visualizacin de datos. Es ampliamente usado por
Ingenieros de Control en el anlisis y diseo, posee adems
una extraordinaria versatilidad y capacidad para resolver
problemas en matemtica aplicada, fsica, qumica, ingeniera,
finanzas y muchas otras aplicaciones.
MATLAB es un entorno de computacin y desarrollo de
aplicaciones totalmente integrado orientado para llevar a
cabo proyectos en donde se encuentren implicados elevados
clculos matemticos y la visualizacin grfica de los mismos.

CONCLUSION:
Como conclusin podemos decir que Matlab es una
herramienta que responde a las necesidades de resoluciones
de problemas que tengamos, tambin es un programa fcil de
usar (dependiendo grado de los problemas,
si se hace un uso debido de esta herramienta, podemos llegar
a resolver cualquier ecuacin que se nos plantee tanto en
modo grafico como numrico.

Potrebbero piacerti anche