Professional Documents
Culture Documents
Matrices de caracteres
Hiper-matrices
ETSII-UPM
q
Ejemplo:
A(i,j,k)
i
k
j
HM[:,:,1]=rand(3);
HM[:,:,2]=eye(3);
q
Todas las funciones que actan sobre escalares se aplican elemento a elemento
Las funciones que actan sobre vectores (sum, max, ...) se aplican segn la
primera dimensin, resultando una matriz de una dimensin menos
Las funciones matriciales de lgebra Lineal (inv, det, ...) se aplican slo a submatrices previamente extradas de la hiper-matriz
Otras funciones: size, ndims, squeeze, permute, ipermute, ... (ver en Help)
Estructuras (struct)
ETSII-UPM
q
Estructuras:
Otras caractersticas:
fieldnames(stc)
isstruct(ST), isfield(ST, s), rmfield(ST, s), getfield(ST, s), setfield(ST, s, v)
Son vectores y/o matrices cuyos elementos pueden ser cada uno de
un tipo de dato diferente
Es importante que el nombre vc no haya sido utilizado antes (usar clear vc;)
cell(m, n), celldisp(ca), cellplot(ca), iscell(ca)
num2cell(x)
Programacin de Matlab
ETSII-UPM
q
Funciones *.m
Una funcin es una porcin de cdigo aislada del resto del programa
Hay funciones propias de Matlab y funciones definidas por el usuario
(funcname.m)
function [valores de retorno]=funcname(lista de argumentos)
La funcin recibe datos a travs de la lista de argumentos y devuelve
resultados a travs de los valores de retorno
Tambin puede intercambiar informacin a travs de variables globales,
declaradas como tales tanto en la funcin como en el programa que la llama
Las variables definidas dentro de la funcin (y los argumentos) son variables
locales a la funcin. Cada funcin tiene su propio espacio de trabajo
Los valores de retorno deben ser calculados en algn momento antes del fin
del fichero que defina la funcin
Los argumentos se reciben siempre por valor (si se modifican dentro de la
funcin, se saca una copia y se modifica la copia)
datos
Bifurcaciones if y switch
if condicion
sentencias
end
if condicion 1
sentencias 1
elseif condicion 2
sentencias 2
elseif condicion 3
sentencias 3
else % opcional
sentencias 4
end
switch expresion
case exp1
sentencias 2
case exp2
sentencias 3
otherwise % opcional
sentencias 4
end
for i=1:m
for j=1:n
sentencias
end
end
while condicion
sentencias
end
Son variables locales de una funcin que conservan su valor entre las
sucesivas llamadas a la funcin (por defecto las variables locales se crean cada
vez)
Las variables persistentes se crean dentro de una funcin anteponiendo la
palabra persistent
Grficos en Matlab
ETSII-UPM
q
q
q
Grficos 2-D
ETSII-UPM
q
Funcin plot()
Ejemplo:
miplot= plot(x,y), pause(5);
delete(miplot);
plot(y)
plot(x,A)
plot(A,x)
plot(A,B)
xy
ij
[x,y]=ginput
Dibujo de polgonos
Ventanas y movies
ETSII-UPM
q
Grficos 3-D
ETSII-UPM
q
shading flat
shading interp
shading faceted
subplot(2,2,3)
figure(gcf), surf(Z)
pause(3)
subplot(2,2,4)
contour3(Z,16)
10
Funcin [X,Y]=meshgrid(x,y);
Sirve para crear matrices con las coordenadas x e y de todos los puntos de la
retcula. Ejemplo:
x=[1, 2, 4];
y=[1, 3]';
[X,Y]=meshgrid(x,y)
X =
1
2
4
1
2
4
Y =
1
1
1
3
3
3
En las filas de la matriz X se repite al vector x tantas veces como elementos
tiene y. En las columnas de la matriz Y se repite al vector y tantas veces como
elementos tiene x.
Al dibujar una figura con el mapa de colores activo los valores mximos se
dibujan con los colores altos del mapa y los valores bajos con los colores bajos
Funcin caxis([cmin,cmax])
11
q
q
&& = 0
y
y
x
y
x& = u
y& = v
& =
y& = f (y, t )
u& = 0
v& = g
& = 0
donde:
12
y = sin x + cos y
x cos
=
y sin
sin x
cos y
y
y
x
x
o bien,
P
x
r = Rr
PL=[ a -a -a a a
b b -b -b b];
PG=R*PL+g*ones(1,size(PL,2);
line(PG(1,:),PG(2,:),'color','k');
13