Você está na página 1de 10

1

GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA


MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
GUA N 3
1. DECLARACIN DE VARIABLES
MATLAB es un lenguaje cientfico que no necesita, a diferencia de muchos otros
lenguajes de programacin, declarar las variables antes de usarlas. No existen tampoco
tipos de variables como en C++ (int, float, etctera).
La unica condicion es que se respete este sintaxis:
Nombre_variable = Valor_variable
Por ejemplo:
Tiempo = 5
Variables y Constantes especiales de MATLAB.
Nombre
Significado
Eps
Precision de la mquina
pi

iyj
unidad imaginaria
inf
infinito
NaN
no es numro
date
fecha
flops
contador de operaciones de punto flotante
nargin
nmero de argumentos de entrada de una funcin
nargout
nmero de argumentos de salida de una funcin
2

OPERADORES

2.1 ARITMTICOS
Estos son esencialmente los siguientes:
Operaci
n
Operado
r
MATLA
B

ADICI
N

SUSTRACCI
ON

MULTIPLICACI
ON

DIVISIO
N

2.2 LGICOS
Estos son principalmente de tipo relacional:
Operaci
<

n
Operador
>
<
>=
<=
MATLAB

POTENCIACI
ON

RAI
Z
sqrt
()

~=

==

AND

OR

&

2.3 CONDICIONALES
IF-ELSE
MATLAB cuenta con esta instruccin condicional. El sintaxis es el siguiente
if (statement), instruction1
else instruction2
end

2
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
por ejemplo:
a=input(dame un numero:);
b=mod(a,2);
if (b==0),disp(tu numero es par);
else disp(tu numero es impar);
end
SWITCH-END
Esta instruccion es para condiciones mltiples remplaza al if-else-end. La sintaxis es:
Switch condicion
case a
instruction1
case b
instruction2
.
.
end
por ejemplo:
%ejemplo con opciones numricas
clc
clear all
disp('determine la raiz de 5x^2-125:')
disp('si las raices son +15 y -15 teclee 1')
disp('si las raices son +7.5 y -7.5 teclee 2')
disp('si las raices son +5 y -5 teclee 3')
a=input('teclee su respuesta:');
switch a
case 1
disp('respuesta incorrecta');
case 2
disp('respuesta incorrecta');
case 3
disp('respuesta correcta');
end
otro ejemplo
%ejemplo switch con opciones alfabeticas
clc
clear all
disp('determine la raiz de 5x^2-125:')
disp('si las raices son +15 y -15 teclee a')
disp('si las raices son +7.5 y -7.5 teclee b')
disp('si las raices son +5 y -5 teclee c')
r=input('teclee su respuesta:','s');
switch r
case 'a'
disp('respuesta incorrecta');
case 'b'
disp('respuesta incorrecta');
case 'c'
disp('respuesta correcta');

3
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
end
2.4 SECUENCIALES
FOR-END
Esta instruccin sirve para repetir n veces una instruccin con incrementos de 1 en 1. La
sintaxis es:
for condition=m:n
instructions
end
Ejemplo:
for a=7:20
c=32*a+2
end
WHILE-END
Hace lo mismo que for-end, slo que en este caso el bucle se repite mientras la
condicin sea verdadera. La sintaxis es:
while condition
instructions
end
Ejemplo
c=1000
while c>2
c = c/2
end
BREAK
Esta sentencia permite "salir" de un lazo "while" o "for".
CONTINUE
Es similar a "break" pero pasa a la siguiente iteracin del lazo.
CONTINUACIN DE LNEAS
El operador de continuacin de lneas es .... Octave soporta la continuacin de lneas
de Matlab y tambin la forma ms usual en la mayora de los lenguajes de script de
Unix (\)
x = varable_demasiado_larga + ...
otra_variable_demasiado_larga + ...
2.5 ARREGLOS MATRICIALES
El manejo de matrices con MATLAB es mucho ms fcil que con los lenguajes clsicos
de programacin.

4
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
Los operadores aritmticos son:
operaci
n

ADICI
ON

SUSTRACCI
ON

MULTIPLICAC
ION

INVERS
A
A LA
DEREC
HA

operad
+
or

INVER
SA
A LA
IZQ.

TRANSPUE
STA

PSEUDO
INVERSA

pinv(matr
iz)

Nota: la pseudo-inversa es la operacin mediante la cual se obtiene la inversa de una


matriz que no es cuadrada.
CREACIN DE MATRICES
Las matrices se crean usando corchetes. Los valores de una misma lnea se separan por
espacios. Las lneas se separan por (;) o por salto de lnea usando [ENTER].
A=[1 -2 ;4 4; 9 7]
A=[1 -2
44
9 7]
Es una matriz de 3x2 que forma clsica es equivalente a:
12
A= 4 4
97

[ ]

SIZE: permite conocer la dimensin de una matriz


>>size(A)
LENGTH: permite conocer la longitud de un vector o el nmero de lneas de una
matriz.
>>length(A)
EYE: genera la matriz identidad.
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
MAX: determina el componente mximo en un vector o determina el vector fila cuyos
componente son los de mayor valor encada columna de una matriz.
Ejemplo 1:
>> V = [1 3 -4 5 -5]
V=
1 3 -4 5 -5

5
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
>> max(V)
ans =
5
Ejemplo 2:
>> M=[1 5 3 2; 3 -5 -6 -1;-4 0 3 10]
M=
1 5 3 2
3 -5 -6 -1
-4 0 3 10
>> max(M)
ans =
3 5 3 10
MIN: efecta la operacin reciproca a MAX. En este caso se obtienen los valores
mnimos.
Ejemplo 1:
>> V = [1 3 -4 5 -5]
V=
1 3 -4 5 -5
>> V = [1 3 -4 5 -5]
V=
1 3 -4 5 -5
>> min(V)
ans =
-5
Ejemplo 2:
>> M=[1 5 3 2; 3 -5 -6 -1;-4 0 3 10]
M=
1 5 3 2
3 -5 -6 -1
-4 0 3 10
>> min(M)
ans =
-4 -5 -6 -1
MEDIAN: para vectores, calcula la mediana de sus elementos; para una matriz, se
genera un vector fila cuyos componentes son el promedio en cada columna de la matriz.
Ejemplo 1:
>> V = [1 3 -4 5 -5]

6
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
V=
1 3 -4 5 -5
>> median(V)
ans =
1
Ejemplo 2:
>> M=[1 5 3 2; 3 -5 -6 -1;-4 0 3 10]
M=
1 5 3 2
3 -5 -6 -1
-4 0 3 10
>> median(M)
ans =
1 0 3 2
MEAN: para vectores, calcula el promedio de sus elementos; para una matriz, se genera
un vector fila cuyos componentes son el promedio en cada columna de la matriz.
Ejemplo 1:
>> V = [1 3 -4 5 -5]
V=
1 3 -4 5 -5
>> mean(V)
ans =
0
Ejemplo 2:
>> M=[1 5 3 2; 3 -5 -6 -1;-4 0 3 10]
M=
1 5 3 2
3 -5 -6 -1
-4 0 3 10
>> mean(M)
ans =
0 0 0 3.6667
STD: para un vector, calcula la desviacin estndar de sus componentes. Si se trata de
una matriz, esta
funcin genera un vector fila que conteniendo la desviacin estndar de cada una de sus
columnas.
Ejemplo 1:
>> V = [1 3 -4 5 -5]
V=

7
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
1 3 -4 5 -5
>> std(V)
ans =
4.3589
Ejemplo 2:
>> M=[1 5 3 2; 3 -5 -6 -1;-4 0 3 10]
M=
1 5 3 2
3 -5 -6 -1
-4 0
3 10
>> std(M)
ans =
3.6056 5.0000

5.1962

5.6862

EIG: Determina los valores propios de una matriz cuadrada, M


>> M=[1 5 3 ; 3 -5 -6;7 -9 5]

M=
1 5 3
3 -5 -6
7 -9 5
>> eig(M)
ans =
-11.5307
3.1400
9.3907
COND: determina el ndice de inversibilidad de una matriz en funcin de la norma 2.
cuanto ms grande es el valor de COND, la inversibilidad de la matriz M es menos
realizable. Si COND es del orden de 1013 superior, la matriz M tendr serios
problemas de inversibilidad.
>> M=[1 5 3 ; 3 -5 -6;7 -9 5]
M=
1 5 3
3 -5 -6
7 -9 5
>> cond(M)
ans =
4.4809
2.6 GRAFICACIN
Los principales comandos son:

8
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
PLOT: permite la graficacin de una funcin en 2D y genera una ventana llamada
figure. Por defecto
comienza con figure1.
>>plot(x,y,color,lnea,marca)
A continuacin presentamos algunas de sus propiedades como son, color, tipo de lnea y
marcas especiales.
Color de las curvas Tipos de lneas Marcas especiales
HOLD ON: permite retener la misma figura para superponer diferentes curvas.
>>plot(x,y1)
>>hold on
>>plot(x,y2)
HOLD OFF: desactiva la retencin de figura. Si se ejecuta PLOT, la curva aparecer en
una nueva figura,
figure2.
>>hold off
SUBPLOT(M,N,K): permite graficacin mltiple de curvas en una sola figura bajo un
arreglo de MxN
subdivisiones. K, es el nmero de subdivisin. Adems permite que las curvas no estn
superpuestas.
>>subplot(2,1,1),plot(x,y1)
>>subplot(2,1,2),plot(x,y2)
XLABEL: permite rotular el eje X.
>>xlabel(texto)
YLABEL: permite rotular el eje Y.
>>ylabel(texto)
ZLABEL: permite rotular el eje Z.
>>zlabel(texto)
TITLE: permite darle un nombre a la figura, en este caso ejemplo uso plot3.
>>title(Texto)
GRID ON: permite incluir cuadrcula en las grficas.
>>grid on
GRID OFF: desactiva la funcin precedente.
>>grid off
FIGURE: permite crear otra ventana de Graficacin
PLOT3: permite la graficacin de una funcin en 3D y genera una ventana llamada
figure. Por
defecto comienza con figure1
>>plot3(x,y,z,color)

9
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
2. CREACION DE FUNCIONES EN MATLAB
3.1 EDICIN DE FUNCIONES DE BIBLIOTECA DE MATLAB
Cuando se desea conocer las funciones implementadas en MATLAB, se puede consultar
HELP del men
principal o bien explorar desde el command Window.
>>help [Enter]
obteniendo:
HELP topics:
En el apndice se presentar una lista ms detallada de los rubros cubiertos por
MATLAB. Si por ejemplo, si se quiere conocer ms detalles sobre matlab\elfun se
ejecuta:
>> help elfun
y se obtiene una nueva lista de funciones incluidas en este rubro. (ver apndice para
mayor detalle) entre las cuales destacan las funciones trigonomtricas, trigonomtricas
inversas, exponenciales, logartmicas y de variable compleja.
Para saber la sintaxis y ms informacin sobre una funcin propia de MATLAB
funcionDeMatlab.m, se
Teclea
>>help funciondeMatlab [Enter]
3.2 CREACIN DE BIBLIOTECAS DE FUNCIONES
MATLAB permite la creacin de funciones de usuario. Para construir una funcin se
utiliza el comando
function.
Sintaxis:
function [as1,as2,,asn] = nombrefuncion(ae1,ae2,,aem),
Donde: as, argumento de salida,
ae, argumento de entrada.
Una funcin MATLAB es un archivo M individual el cual ser nombrado
nombrefuncion.m. Para llamar una funcin desde un programa de usuario de MATLAB,
se inserta la lnea
[as1,as2,,asn] = nombrefuncion(ae1,ae2,,aem).
ejemplo:
function [Perimetro,Area] = PeriAreaTriangRect(base,altura,c)
Perimetro = base + altura +c;
Area = (base*altura)/2;
para ver ms detalles sobre function ejecutar:
>>help function

10
GUIAS DE PROGRAMACIN EN COMPUTADORAS PLATAFORMA
MATLAB
Ing. Jos S. Orbegoso L.
==========================================
=====================
Las funciones primero pasan valores de entrada y de salida, los cuales dentro de la
funcin toman nombres distintos. las dems variables externas quedan aisladas de las
internas. Las funciones MATLAB utilizan el paso por valor, es decir, que hacen una
copia del valor de las variables para efectuar los clculos.
Scripts
Cuando un cierto grupo de sentencias es muy usado puede incluirse en un archivo con
extensin file.m y ser llamado desde Matlab por su nombre:
>> file[Enter]
Los scripts son simplemente listas de sentencias, al ser llamado es como si la lista de
sentencias fuera incluido en el prompt de Matlab.