Octave Gráficos Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.1 Introdução Os gráficos são feitos utilizando uma ferramenta OpenSource chamada GnuPlot. A comunicação entre o Octave e o GnuPlot é feita usando as funções gplot e gsplot, mas iremos apenas utilizar funções de mais alto nível. Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.2 Gráficos simples (1) octave:19> x = 0:pi/90:4*pi; octave:20> y = sin(x); octave:21> plot(x,y) Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.3 Gráficos simples (2) octave:29> xlabel('x,radianos'); octave:30> ylabel('sin(x)'); octave:31> grid; octave:32> replot Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.4 Gráficos de barras octave:34> clearplot; octave:35> bar([20,10,30,15,30,30,40]) Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.5 Histogramas octave:36> clearplot octave:37> a = [10,10,10,20,20,30]; octave:38> hist([a,a,a,a,a],[1,10,20,30]) O primeiro argumento da função contem a amostra de valores. O segundo o centro de distribuição. Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.6 Gráficos sobrepostos Antes de cada comando, o Octave por omissão, limpa a janela de gráfico. Para tal não acontecer pode ser utilizado o comando hold on. octave:71> clearplot octave:72> hold on octave:73> x = -5*pi:pi/90:5*pi; octave:74> y1 = sin(x); octave:75> y2 = cos(x); octave:76> y3 = sin(x)+2*cos(x); octave:77> plot(x,y1) octave:78> plot(x,y3) octave:79> plot(x,y3) Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.7 Multiplot (1) Permite apresentar vários gráficos em áreas da janela diferentes, usando para tal as funções multiplot e subwindow. Exemplos: multiplot(2,2) – cria ambiente para 4 janelas de gráficos. subwindow(2,1) – todos os gráficos apartir de agora serão apresentados na janela da 2ª linha, 1ª coluna. Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.8 Multiplot (2) octave:93> multiplot(2,2) octave:94> subwindow(1,1) octave:95> xlabel("x, radianos") octave:96> ylabel("sin(x)") octave:97> title("G1") octave:98> plot(x,y1) octave:99> subwindow(2,2) octave:100> ylabel("cos(x)") octave:101> title("G2") octave:102> plot(x,y2) octave:103> subwindow(1,2) octave:104> >plot(x,x.*x) octave:105> subwindow(2,1) octave:106> plot(x,sqrt(x)) Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.9 Gráficos 3D octave:30> clearplot octave:31> x = -10:0.5:10; octave:32> [X,Y]=meshdom(x,x); octave:33> hold on octave:34> grid octave:35> mesh(X,Y,-sqrt(X.^2+Y.^2)*5+40) octave:36> mesh(X,Y,X.^2+Y.^2) Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Gráficos 4.10