Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
>>2+2
ans =
4
Después de escribir cada comando hay que pulsar Intro para que lo ejecute.
Si después de esta agotadora primera sesión con MatLab queremos salir del
programa, se puede hacer de dos formas, escribiendo exit a continuación del
prompt, o bien con File Exit MATLAB.
El valor que queremos calcular también se puede asignar a una variable. Por
ejemplo:
x=3^2
x=
9
Hay que tener en cuenta que MatLab distingue entre mayúsculas y minúsculas,
por lo tanto, se distingue entre la variable X y la variable x. La notación para
las operaciones matemáticas elementales es la habitual en todos los
programas de Cálculo Simbólico:
Suma +
Resta -
División /
Exponenciación ^
Multiplicación *
sin seno
sinh seno hiperbólico
asin arcoseno
cos coseno
cosh coseno hiperbólico
acos arcocoseno
tan tangente
atan arcotangente
exp exponencial
log logaritmo
neperiano
log10 logaritmo decimal
sqrt raíz cuadrada
abs valor absoluto
Para obtener listas completas de todas las funciones que puede utilizar Matlab,
así como para saber el uso de cada una de ellas o de cualquier comando,
siempre se puede acudir a help. Esto se puede hacer de varias formas,
poniendo >>helpwin, siendo el propio programa quien nos ofrece la ayuda
(como en cualquier otro programa), o poniendo >>helpdesk, con lo que nos
ofrece ayuda interactiva, conectándose a Internet si este recurso está
disponible en nuestro ordenador.
Si conocemos el nombre del comando, pero queremos saber para que sirva, se
puede poner:
>>help comando
1.1. Interfaz de usuario. Variables
Con las flechas del cursor: ↑ y ↓, se pueden recuperar las órdenes anteriores,
sin tener que volver a teclearlas. Esto resulta util en el caso de una
equivocación o cuando se quiere repetir un comando con alguna pequeña
modificación.
Por ejemplo,
x=sin(3);
>>x=sin(10),y=cos(10),...
z=tan(10)
x=
-0.5440
y=
-0.8391
z=
0.6484
>>:
GRAFICAS 2D
Para hacer graficas de funciones de una variable con MatLab, primero tenemos
que crear una tabla de valores de la variable para después dibujar la función.
Por ejemplo, queremos dibujar la gráfica de la función
y = sen(x):
>>x=0:pi/100:2*pi;
Con este comando hemos formado una tabla (el vector x) con 200 valores
entre 0 y 2pi . Otra forma de conseguir el mismo resultado sería utilizar el
comando
>>x=linspace(0,2*pi,200);
>> y = sin(x);
>>plot(x,y)
>>x=-3:.01:3;
Definimos la función
>>y=x.*exp(-x.^2);
Y por último, se escribe el comando para que ejecute el dibujo (figura 2.)
>>plot(x,y)
- Ejes. Los ejes que aparecen por defecto en una gráfica también se pueden
modificar. Con el comando >>axis([-2 2 -1 1]), conseguiremos que la
gráfica aparezca en la región -2 ≤· x ≤· 2, -1 ≤ x≤ 1. Con >>axis square,
conseguiremos que la figura aparezca en un cuadrado, sin cambiar el rango
de los ejes. Con el comando >>axis equal, conseguiremos que los rangos
de los ejes sean iguales.
VECTORES Y MATRICES
Los vectores y las matrices son los elementos basicos con los que trabaja
Matlab. Veamos como se introducen y como se pueden hacer algunas de las
operaciones elementales con ellos.
>> x=[1 2 3]
x=
123
>> x=1:0.5:3
x=
1.0 1.5000 2.0000 2.5000 3.0000
que genera un vector que va desde 1 hasta 3 con un paso de 0.5 unidades.
>>x=linspace(1,3,5)
>>x=linspace(0,2*pi,300);
>>y=sin(x);
>>z=sin(x+pi/3);
(La primera en color rojo, con trazo continuo, y la segunda en verde, con trazo
discontinuo).
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
>>t=linspace(0,8*pi,2000);
>>plot3(sin(t),cos(t),t),grid on
>>comet3(sin(t),cos(t),t)
Para dibujar gráficos de funciones de dos variables z = f(x; y), al igual que
para funciones de una variable, en primer lugar hay que generar tablas de
valores para las variables x e y, en realidad, ahora lo que tenemos que hacer
es generar un mallado sobre un rectángulo del plano XY . Para eso se utiliza el
comando meshgrid.
z = e -(x2+y2)
Generamos el mallado
>>[x,y]=meshgrid(-2:.5:2);
>>z=exp(-x.^2-y.^2);
Y ahora podemos dibujar el grillado con alguno de los siguientes comandos que
producen los dibujos mostrados en la figuras:
>>plot3(x,y,z)
>>mesh(x,y,z)
>>surf(x,y,z)
plot(X) Representa los puntos (k,Xk). Si X es una matriz, hace lo mismo para cada columna de la matriz. Si X
es un vector complejo, representa Real(X) frente a IMAG(X)..
plot(X,Y) Representa el conjunto de puntos (X,Y). Si X o Y son matrices, representa por filas o columnas los
datos de X frente a los datos de Y, dependiendo si el otro vector es fila o columna. Para valores complejos de X
e Y, se ignoran las partes imaginaria. Gráfica de plot(X,Y) con la opciones definidas en S. Usualmente, S se
compone de dos caracteres entre comillas simples, el primero de los cuales fija el color de la línea del gráfico, y
el segundo fija el carácter a usar en el graficado.
plot(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3) Combina, sobre los mismos ejes, los gráficos definidos para las
tripletas (Xi, Yi. Si). Se trata de una forma de representar varias funciones sobre el mismo gráfico.
fplot([f1,f2,..fn],[xmin,xmax, ymin,ymax],S) Gráfica las funciones f1,f2,..fn sobre los mismo ejes en
los intervalos de variación de x e y especificados, y con las opciones de color y caracteres dadas por S.
title(‘texto’) Añade el texto como título del gráfico en la parte superior del mismo en gráficos 2-D y 3-D
gtex(‘texto’) Permite situar el texto en un punto seleccionado con el ratón dentro de un gráfico 2-D
hold Permite mantener el gráfico existente con todas sus propiedades, de modo que el siguiente gráfico que
se realice se sitúe sobre los mismos ejes y se superponga al existente. La opción hold on activa la opción y
hold off la elimina. La opción hold permuta entre on y off. Válido para 2-D y 3-D
A continuación se presentan comandos que permiten manipular los ejes de un gráfico, la
colocación del mismo dentro de la pantalla, su apariencia, su presentación desde distintos puntos
de vista, etc.
axis([xmin xmax ymin ymax]) Sitúa los valores máximo y mínimo para los ejes X e Y en el gráfico
corriente
axis (‘auto’) Sitúa los ejes en la escala automática por defecto (la dada por xmin=min(x), xmax=max(x) e y
libre)
axis (axis) Congela el escalado de ejes en los límites corrientes, de tal forma que al situar otro gráfico sobre
los mismo ejes (con hold en on), la escala no cambie
axis(‘off’) Elimina las etiquetas y marcas de los ejes y las rejillas, manteniendo el título del gráfico y
subplot(m,n,p) Divide la ventana gráfica en mxn subventanas y coloca el gráfico corriente en la ventana p-
ésima, empezando a contar por la parte superior izquierda y de izquierda a derecha hasta acabar la línea, para
pasar a la siguiente
ginput(n) Permite recuperar las coordenadas de n puntos de un grafico mediante ratón o teclado
polar ,r,S) Representa la curva en coordenadas polares r=r() con el estilo de línea dado por S, cuyos
posibles valores ya fueron especificados en el comando plot
Los comandos básicos que utiliza Matlab para dibujar gráficos que generan una línea en
tres dimensiones son los siguientes:
plot3(X,Y,Z) Representa el conjunto de puntos (X,Y,Z), donde X,Y y Z son vectores fila. X.Y y Z pueden ser
matrices de la misma dimensión, en cuyo caso se hace una gráfica por cada tripleta de filas y sobre los mismos
ejes. Para valores complejos de X, Y y Z se ignoran las partes imaginarias.
plot3(X,Y,Z,S) Gráfica de plot(X,Y,Z) con la opciones definidas en S. Usualmente, S se compone de dos
caracteres entre comillas simples, el primero de los cuales fija el color de la línea del gráfico, y el segundo fija
el carácter a usar en el graficado. Los valores posibles de colores y caracteres se han descrito ya al explicar el
comando plot
plot3(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3) Combina, sobre los mismos ejes, los gráficos definidos para las
tuplas (Xi, Yi. Zi, Si). Se trata de una forma de representar varias funciones sobre el mismo gráfico.
Un gráfico de malla tridimensional de malla viene definido por una función z=f(x,y), de tal
forma que los puntos de la superficie se representan sobre una rejilla, resultado de levantar los
valores de z dados por f(x,y) sobre los correspondientes puntos del plano (x,y). El aspecto de un
gráfico de malla es como una red de pesca, con los puntos de la superficie sobre los nudos de la
red. Realmente, es un gráfico de superficie cuyo grafo tiene forma de red. Para representar un
gráfico de malla, se utiliza el comando mesh y sus variantes, cuya sintaxis es la siguiente:
mesh(X,Y,Z,C) Representa el gráfico de malla de la función z=f(x,y), dibujando las líneas de la rejilla que
componen la malla con los colores especificados en C. El argumento C se puede ignorar.
meshz(X,Y,Z,C) Representa el gráfico de malla de la función z=f(x,y) con una especie de cortina o telón en
la parte inferior.
meshc(X,Y,Z,C) Representa el gráfico de malla de la función z=f(x,y) junto con el gráfico de contorno
correspondiente (curvas de nivel proyectadas sobre el plano XY)
surf(X,Y,Z,C) Representa el gráfico de superficie de la función z=f(x,y), realizando el dibujo con los colores
especificados en C. El argumento C se puede ignorar
surfl(X,Y,Z) Representa el gráfico de superficie de la función z=f(x,y), realizando el dibujo con sombreado.
contour(Z,n) Dibuja el gráfico de contorno (curvas de nivel) para la matriz Z usando n líneas de contorno
contour(z,y,Z,n) Dibuja el gráfico de contorno (curvas de nivel) para la matriz Z usando en los ejes X e Y el
escalado definido por los vectores x e y (n líneas de contorno) contour3(Z), contour3(Z,n) y contour3(x,y,Z,n)
Dibujan los gráficos de contorno en 3 dimensiones
pcolor(X,Y,Z) Dibuja un gráfico de contorno (curvas de nivel) para la matriz (X,Y,Z) utilizando una
representación basada en densidades de colores. Suele denominarse gráfico de densidad