17
Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Embed Size (px)

Citation preview

Page 1: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.1

OctaveSistemas de Equações e Gráficos

Page 2: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.2

Sistemas de equações (1)

A=[1, 2, 3; 2, 3, 4; 4, 2, 5]A =

1 2 32 3 44 2 5

B=[4;5;1]B =

451

Page 3: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.3

Sistemas de equações (2)

Regra de Cramer (onde se substitui B nas colunas de A correspondentes a cada xi dividindo-se o determinante de A pelo da matriz obtida), pode ser calculado da seguinte forma.

octave:84> D1=A; D1(:,1) = BD1 =

4 2 35 3 41 2 5

octave:85> D2=A; D2(:,2) = BD2 =

1 4 32 5 44 1 5

octave:86> D3=A; D3(:,3) = BD3 =

1 2 42 3 54 2 1

octave:87> X=[det(D1); det(D2); det(D3)] / det(A)

X =-1.400001.800000.60000

Page 4: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.4

Sistemas de equações (3)

Utilizando o operador \ (eliminação Gaussiana).

octave:89> X =A \ BX =

-1.400001.800000.60000

Page 5: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.5

Inversa de uma matriz

É feita utilizando o comando inv(M).

octave:90> inv( A )ans =

-1.40000 0.80000 0.20000-1.20000 1.40000 -0.400001.60000 -1.20000 0.20000

octave:90> A * inv( A )ans =

1.00000 0.00000 0.000000.00000 1.00000 0.000000.00000 -0.00000 1.00000

Page 6: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.6

Exercicios Propostos

Resolver os seguintes sistemas de equações:

5x -3y = -1 5z + x= 2 x -4y -2z = 7

-2z +2y = 5 x + -5y +3z= -3 3x+ 2y = 4

Page 7: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.7

Gráficos

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.

Page 8: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.8

Gráficos simples (1)

octave:19> x = [1,2,3]octave:20> y = [1,3,2]octave:21> plot(x,y)

Page 9: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.9

Gráficos simples (2)

octave:19> x = 0:0.1:4octave:20> y = sin(x)octave:21> plot(x,y)

octave:19> x = 0:pi/90:4*pi;

octave:20> y = sin(x);octave:21> plot(x,y);

Page 10: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.10

Gráficos simples (3)

octave:29> xlabel('x,radianos');

octave:30> ylabel('sin(x)');octave:31> grid;octave:32> replot

Page 11: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.11

Gráficos de barrasoctave:34> clearplot;octave:35>

bar([20,10,30,15,30,30,40])

Page 12: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.12

Histogramas

O primeiro argumento da funçãocontem a amostra de valores.O segundo o centro de distribuição.

octave:36> clearplotoctave:37> a =

[10,10,10,20,20,30];octave:38> hist(a,[1,10,20,30])

Page 13: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.13

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> clearplotoctave:72> hold onoctave: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,y2)octave:79> plot(x,y3)

Page 14: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.14

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 1ª linha, 2ª coluna.

Page 15: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.15

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))

Page 16: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.16

Gráficos 3Doctave:33> hold onoctave:34> gridoctave:35> mesh(X,Y,-

sqrt(X.^2+Y.^2)*5+40) octave:36> mesh(X,Y,X.^2+Y.^2)

octave:30> clearplotoctave:31> x = -10:0.5:10;octave:32> [X,Y]=meshdom(x,x);

Page 17: Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos

Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007

Sistemas de Equações e Gráficos 2.17

Exercicios Propostos

(1) Apresente o gráfico da função:

cos(x) +1 entre -2π e 2π, com um passo de uma décima.

x-2

(2) Apresente o gráfico anterior lado a lado com o gráfico da função (x2)/3.

(3) Apresente o gráfico da função:

sin(x) (ex) entre -2π e 2π, com um passo de uma décima.

(4) Apresente o gráfico anterior acima do gráfico da função:

loge(x)

x