Gráficas en Matlab/Octave

O comando de cálculo numérico para pintar a gráfica de funcións dunha variable é plot:
>> x = 0:0.5:5; plot(x, sin(x)) %gráfica do seno en [0,5]
>> x = 0:0.1:5; plot(x, sin(x)) %con máis abscisas, mellora a gráfica

Con hold podemos pintar varias gráficas na mesma ventá:
>> hold on; plot(x, cos(x)) %iníciase a sobreimpresión de gráficas
>> hold off %remata a sobreimpresión

No comando plot podemos indicar varios grupos de abscisas e coordenadas, así como opcións de debuxo (ver help plot):
>> plot(x, sin(x), 'r*', x, cos(x), '-.g') %as opcións son o terceiro argumento

Pódese engadir información adicional na gráfica:
>> title('Dos curvas') %título
>> xlabel('Abscisas'); ylabel('Ordenadas') %texto nos eixos
>> legend('Curva 1','Curva 2') %lenda
>> axis([-1 11 -1.5 1.5]) %escala

Con figure créase unha nova ventá de gráficas. O comando line crea liñas personalizadas:
>> line(x,cos(x), 'linewidth', 4)

As curvas parametrizadas no plano tamén se pintan con plot, tras dar valores ao parámetro:
>> t=0:0.1:2*pi; plot(exp(-t).*cos(2*t), exp(-t).*sin(2*t)) %espiral
As curvas no plano píntanse con plot3:
>> plot3(cos(t),t.*sin(t),sqrt(t))
Obsérvese que é necesario usar operadores elementais, como .*, xa que t é un vector.

Cos comandos semilogx, semilogy e loglog podemos usar escala logarítmica no eixos:
>> x = 0:0.1:5; semilogy(x, exp(-x))
E usar coordenadas polares con polar:
>> t = 0:.01:2*pi; polar(t,sin(2*t).*cos(2*t))
Vemos agora algunhas gráficas habituais en estatística:
>> errorbar(x,sin(x),rand(size(x)))
>> hist([2,3,3,4,4.5])

As funcións de dúas variables pódense representar:

  1. Escollendo valores para os eixos OX e OY con meshgrid:
    >> [x,y]=meshgrid(-2:.2:2, -2:.2:2);
  2. Debuxando a gráfica con surf, contour,…
    >> surf(x, y, x.*exp(-x.^2-y.^2)) %gráfica 3D
    >> contour(x, y, x.*exp(-x.^2-y.^2)) %gráfica de contorno

Tamén podemos pintar varias subgráficas nunha ventá:
>> x = -2:0.1:2; subplot(1,2,1); %array 1x2 de gráficas, ficamos na 1ª
>>plot(x,sin(x),'r'); title('Primeira gráfica')
>> subplot(1,2,2); %ficamos na 2ª subgráfica
>>plot(x,cos(x),'r'); title('Segunda gráfica')

Por último, como imprimir a ventana de gráficos activa a un ficheiro PNG:
>> print -dpng 'grafica.png'

Exercicios

  1. Crea unha ventá con dúas subgráficas. Engade títulos, lendas e xoga coas opcións de debuxo.
  2. Crea unha gráfica de contorno para unha función de dúas variables nunha ventá aparte.
  3. Salva as gráficas en ficheiro.

Na entrada seguinte veremos como definir as nosas propias funcións en Matlab e Octave.

Advertisements
Esta entrada foi publicada en Matlab/Octave. Ligazón permanente.

Deixar unha resposta

introduce os teu datos ou preme nunha das iconas:

Logotipo de WordPress.com

Estás a comentar desde a túa conta de WordPress.com. Sair / Cambiar )

Twitter picture

Estás a comentar desde a túa conta de Twitter. Sair / Cambiar )

Facebook photo

Estás a comentar desde a túa conta de Facebook. Sair / Cambiar )

Google+ photo

Estás a comentar desde a túa conta de Google+. Sair / Cambiar )

Conectando a %s