Académique Documents
Professionnel Documents
Culture Documents
Funciones
Las funciones se ven exactamente como scripts, pero con
Ejercicio:
Escriba una funcin que contenga la siguiente
declaracin:
function plotSin(f1)
periodo
function plotSin(f1) x=linspace(0,2*pi,f1*16+1); figure plot(x,sin(f1*x))
Operadores de relacin
Estndar: Igual: == Diferente: ~= Mayor que: > Menor que: < Mayor o igual: >= Menor o igual: <= Lgicos: Y: & O: | Not: ~ Xor: xor Todos verdaderos: all Algunos verdaderos: any
verdadero
If / else / elseif
Comandos bsicos de control de flujo, comunes a todos
end
for
Se usa para toda clase de iteraciones
Sintaxis
for n=1:100 commandos end
lo son)
Comandos:
Todo lo que este entre la lnea del for y el end
while
Es un iterador mas general No se necesita especificar el nmero de iteraciones
Sintaxis:
WHILE while condicion commando end
Ejercicio
Modificar la funcin plotSin(f1) para que tenga dos
entradas: plotSin(f1,f2) Si el nmero de argumentos de entrada es 1, ejecute el comando plot que escribi antes. De otra forma, muestre la lnea Hay don argumentos de entrada Pista: El nmero de argumentos se encuentran en funcion de maquina nargin
La ventana de grficos
Graficas cartesianas
Ya conocemos la sintaxis: x=-pi:pi/100:pi; y=cos(4*x).*sin(10*x).*exp(-abs(x)); plot(x,y,'k-');
Se aplica la misma para grficas logartmicas y
semilogartmicas:
Por ejemplo:
x=0:100; semilogy(x,exp(x),'k.-');
Graficas de lneas en 3D
Son igual de simples que en 2D: time=0:0.001:4*pi; x=sin(time); y=cos(time); z=time; plot3(x,y,z,'k','LineWidth',2); zlabel('Time');
La figura se puede rotar Se puede colocar cotas a los ejes xlim, ylim, zlim
ejes para graficar cada conjunto de ejes puede tener etiquetas, letreros y ttulos
subplot(2,3:6)
Activar un rango de ejes los fusiona en uno
close all
Las cierra todas
Ejercicio
Modificar el comando plot en la funcin plotSin para usar
Visualizando matrices
Una matriz puede visualizarse como una imagen
mat=reshape(1:10000,100,100); imagesc(mat); colorbar
Mapas de colores
Se pueden cambiar los mapas de colores
imagesc(mat) colormap(gray) colormap(cool) colormap(hot(256))
Graficas de superficies
Es mas cmodo visualizar superficies en 3D
Ejemplo:
surf
Creamos los vectores x y y
x=-pi:0.1:pi; y=-pi:0.1:pi;
z=sin(X).*cos(Y);
contour
Se usa para crear superficies de contornos
bidimensionales
contour(X,Y,Z,'LineWidth',2) hold on mesh(X,Y,Z)
Ejercicio
Modifique plotSin para que haga lo siguiente:
Si se dan dos entradas, evaluar la siguiente funcin:
crear las matrices x y y) Muestre la grafica de la matriz usando un mapa de color hot Grafique la representacin tridimensional de la matriz y mustrela en 3 posiciones diferentes
Vectorizacin (find)
find es una funcin muy especial: Retorna ndices de valores diferentes a cero Puede simplificar el cdigo y evita usar bucles Sintaxis bsica: index=find(condicion) >>x=rand(1,100); >>inds=find(x>0.4 & x<0.6); inds contendr los indices en los que los valores de x estn
Evitando bucles
Dado x= sin(linspace(0,10*pi,100)), cuantas entradas son
positivas?
if/else count=0;
for n=1:length(x)
if x(n)>0 count=count+1;
end
end