Octave - Graficacion y Ciclos

Anuncio
Taller de Informática I
Dpto. Computación – F.C.E. y N. - UBA
GRAFICACION Y CICLOS
Algunos conceptos previos:
Operador ‘:’
Se trata de una de las formas de definir vectores y matrices más usada y más fácil de
utilizar, dada la rápida visualización de la salida sin necesidad de ver el resultado:
octave> x=1:1:10;
octave> x
x =
1 2 3 4 5 6 7 8 9 10
De alguna manera, el : representa un rango, en este caso desde 1 hasta 10 y en el centro
se coloca el paso (o sea con que incremento se llega desde 1 hasta 10). Por defecto el
paso es 1 pero puede ser cualquier número entero o real, positivo o negativo:
octave> x=10:-1:1
x =
10 9 8 7 6 5 4 3 2 1
Gráficos
plot() crea un gráfico a partir de vectores y/o columnas de matrices, con escalas lineales
sobre ambos ejes.
Por ejemplo, vamos a hacer un gráfico de la función 0.1 * |x| * sin(x)
Graficaremos usando valores para x entre -2pi y 2pi
1) Generamos el vector x entre -2p y 2pi
octave> x = -2*pi:0.1:2*pi;
2) Dibujamos:
octave> plot(x, abs(0.1*x) .* sin(x));
.* Recordar que * es el producto de matrices. No funcionará con vectores,
mientras que .* es el producto miembro a miembro de los elementos de cada
vector
Generalicemos nuestra función: a * |x| * sin(x) y graficamos dando 3 diferentes valores
a la variable a. Por ejemplo:
octave> plot(x, abs(0.1*x) .* sin(x));
octave> plot(x, abs(0.2*x) .* sin(x));
octave> plot(x, abs(0.3*x) .* sin(x));
¿Cómo hacemos si queremos ver los tres gráficos en una misma pantalla?
octave> hold on;
2010
Taller de Informática I
Dpto. Computación – F.C.E. y N. - UBA
hold es una función que permite agregar gráficos a una figura ya existente, respetando
su contenido
Otras funciones útiles:
Muestra una cuadrícula en la pantalla del gráfico. Usando grid on se activa y con
off se desactiva
title(‘titulo): Coloca un título al gráfico
xlabel(‘leyeda x’): Coloca una leyenda al eje x
ylabel(‘leyeda y’): Coloca una leyenda al eje y
grid:
Por defecto, el color de las líneas del gráfico es rojo, pero eso se puede cambiar, así
como también el estilo de las líneas. En las siguientes tablas se muestran las
posibilidades de colores y estilos de líneas:
Símbolo
y
m
c
r
g
b
w
k
Color
Amarillo
Magenta
Celeste
Rojo
Verde
Azul
Blanco
Negro (por defecto)
Símbolo
.
o
x
+
*
s
d
^
Tipo de línea
Puntos
Con círculos
Marcas en x
Marcas en +
Marcas en *
Marcas cuadradas
Marcas en diamante
Triangulo apuntando
arriba
Por ejemplo, nuestra función a * |x| * sin(x) sobre 3 diferentes valores de a, en
diferentes colores y estilos de líneas (HACER), todo en un mismo gráfico, con título y
leyenda
La función plot() permite también dibujar múltiples curvas introduciendo varias parejas
de vectores como argumentos. En este caso, cada uno de los segundos vectores se
dibujan en ordenadas como función de los valores del primer vector de la pareja, que se
representan en abscisas. Obsérvese bien cómo se dibujan el seno y el coseno en el
siguiente ejemplo (usamos el mismo x definido al comienzo):
octave> y=sin(x); z=cos(x);
octave> plot(x,y,x,z)
Sentencia ‘for’
2010
Taller de Informática I
Dpto. Computación – F.C.E. y N. - UBA
2010
Repite una serie de sentencias un número determinado de veces, sin importar los
procesos que ocurran dentro, por lo que la única manera de salir del bucle es esperar que
el ciclo acabe. La sintaxis de la sentencia sería:
for var = expression
body
endfor
Cuando var llega al valor de expression, el ciclo se detiene.
Para el caso de nuestra función donde ‘a’ tomaba 3 valores diferentes: a * |x| * sin(x)
podemos realizar el siguiente ciclo:
octave>
octave>
octave>
octave>
octave>
close all;
hold on;
for a = 0.1:0.1:0.3
plot(x, abs(a*x) .* sin(x));
end;
Ejercicio: Probar con valores negativos de ‘a’ quitando la función abs (Es decir, hacer
directamente a*x)
Ejercicio: Mostrar en una misma pantalla en azul las curvas que corresponden a valores
positivos de a, y en rojo las curvas que corresponden a valores negativos de a.
Descargar