A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso de modelagem numérica computacional com o software livre (Octave) Instituto Federal de Educação, Ciência e Tecnologia do Piauí –IFPI, campus Parnaíba.

Apresentações semelhantes


Apresentação em tema: "Curso de modelagem numérica computacional com o software livre (Octave) Instituto Federal de Educação, Ciência e Tecnologia do Piauí –IFPI, campus Parnaíba."— Transcrição da apresentação:

1 Curso de modelagem numérica computacional com o software livre (Octave)
Instituto Federal de Educação, Ciência e Tecnologia do Piauí –IFPI, campus Parnaíba Prof. Msc. Henrique do Nascimento Camelo

2 O que é o Octave? Resumidamente, é um software livre capaz de resolver cálculos numéricos e também pode ser usado como linguagem de programação de alto nível. O GNU/Octave é uma linguagem de alto nível basicamente voltada para computação gráfica. Esse programa na maioria de seus comandos é compatível com o Matlab (que é um programa comercial). O programa pode ser utilizado também em modo script (textos de programação) e permite incorporar módulos escritos nas linguagens C++, C, Fortran e outras. O GNU/Octave foi escrito por John W. Eaton e muitos outros, estando disponível na forma GPL. O GNU Octave utiliza o GNUPLOT.

3 Comandos básicos Matrizes Gráficos em 2D e 3D Criando script
Sumário Comandos básicos Matrizes Gráficos em 2D e 3D Criando script Estatística Polinômios Calculo integral Vetores

4 1. Comandos básicos Operações aritméticas : Potencia ** Somar +
Subtrair - Multiplicar * Dividir / Raiz quadrada sqrt(x) Exemplos: Obs:Para remover da área de trabalho uma variável já atribuída, usa-se o comando clear, seguido do nome da variável, como em: > clear c Para apagar todas as variáveis, digita-se: > clear all

5 Comandos especiais Raiz quadrada Exponencial (e) Número pi
Logaritmo natural Modulo Fatorial sqrt(x) exp(x) pi log(x) abs(x) factorial(x) Trigonometria sin(x): Seno de x cos(x): Cosseno de x tan(x): Tangente de x asin(x): Seno inverso de x acos(x): Cosseno inverso de x atan(x): Tangente inverso de x sinh(x): Seno hiperbólico de x cosh(x): Cosseno hiperbólico de x tanh(x): Tangente hiperbólico de x asinh(x): Seno hiperbólico inverso de x acosh(x): Cosseno hiperbólico inverso de x atanh(x): Tangente hiperbólico inverso de x Arredondamento: floor(x): Arredonda x para baixo ceil(x): Arredonda x para cima round(x): Arredonda x para o inteiro mais próximo

6 Exemplos das funções citadas:
Observação importante: você pode digitar “;” (Ponto-e-vírgula) após uma certa linha de comando. Isto serve para o programa não dar a resposta do ‘cálculo’ na tela. Ele apenas armazena na memória dele a informação. E, para exibir o valor de uma variável, basta escrever o nome da variável desejada que o Octave exibirá o seu valor logo abaixo.

7 As variáveis são criadas por você, durante o uso deste programa, e podem assumir valores numéricos (ou seja, reais ou complexos), matrizes, vetores, strings (seria um ‘vetor de caracteres’) entre outros. Para criar variáveis basta digitá-la no programa, assumir um valor para ela e pronto! Veja uns exemplos:

8 Uma variável c = 9 + 5i (um número complexo) após declaramos a e b e c = a + 2b. Percebe-se que apareceu um erro. O Octave indica (^) em qual lugar está o erro. E foi a falta de asterisco (*) pra indicar a multiplicação de 2*b. Então, este programa não aceita a omissão deste sinal de multiplicação.

9 Uma coisa interessante é que você pode escolher a quantidade de casas que você quer que apareça quando digitar a constante, ou melhor, você pode formatar o tipo da constante. Assim, vemos que há o format long, que apresenta 15 casas decimais. O format short, que aparece duas casas decimais, o format que nos dá 4 casas após a vírgula e, também, há format bank, com duas casas após a vírgula e com números complexos, não aparece a parte imaginária. Mais algumas constantes:

10 O Comando disp( ) serve para exibir somente o valor final da entrada do usuário.
>format long >disp(“Ovalor do numero eh:”),disp(e) O valor do numero eh: Agora com dois ‘disp()’. Perceba que há uma vírgula entre eles! Num utilizei uma string e em outro coloquei o número ‘e’.

11 >function y=f(x) >y=x^2; >endfunction >f(3) ans= 9
Para definir funções, usa-se o comando “function” e em seguida a declaração da função y=f(x), por exemplo, seguida da função: >function y=f(x) >y=x^2; >endfunction >f(3) ans= 9

12 2. Matrizes Para criar uma matriz, basta você inserir os valores destes entre colchetes: [ ]. Sendo que valores na mesma linha são separados por vírgula, e valores na mesma coluna são separados com ponto-e-vírgula

13 >a=[1,2;2,1]; >b=[2,1;1,2]; >a+b ans = 3 3
Podemos adicionar, subtrair, achar a transposta de matrizes, entre outras operações. >a=[1,2;2,1]; >b=[2,1;1,2]; >a+b ans = 3 3

14 >a*b ans= 4 5 5 4 >transpose(a) 1 2 2 1 >c=[1 2; 2 3] 2 3 >inverse(c) -3 2 2 -1

15 Para multiplicar uma matriz M =[1,2,3] por um escalar n, como n=3, fazer: 3*M:
ans= 1 2 3 >3*M 3 6 9 Para achar o determinante duma matriz, utilizar comando det(x) . >x=[1,2;2,1] 1 2 2 1 >det(x)

16 Também há comandos prontos para matrizes. Tais como:
1. ones(N,M) para construir uma matriz N × M com elementos de valor 1. 2. zeros(N, M) para construir uma matriz N ×M com elementos de valor 0. 3. eye(N,M) para construir uma matriz com elementos de valor 1 na diagonal. 4. rand(N,M) para construir uma matriz N × M com elementos de valor.

17 Resolução de sistemas lineares
Para a resolução deste sistema é necessário, termos Ax=B, onde

18 x=A\B, é conceitualmente equivalente a usar (A−1)B, o que dá a resolução deste tipo de problema.

19 Outra forma de operação com matrizes é feita diretamente:

20 No octave assim como no matlab é possível gerar vetores, vejamos:

21 3. Gráficos em 2D e 3D Abaixo segue o gráfico do seno e o comando utilizado no Octave para plota o gráfico seno, o gráfico do cosseno e gráfico do seno junto com o do cosseno( veja páginas seguintes). >x=(0:0.01:2*pi); >y=sin(x); >plot(x,y) >title(“grafico do seno”) >xlabel(“eixo x”) >ylabel(“eixo y”) >grid on >print(’nome.png’,’-dpng’) % para salvar em PNG

22 >clearplot >x=[0:0.01:2*pi]; >y1=sin(x); >y2=cos(x); >plot(y1,x) >title(“grafico seno”) >plot(y2,x) >title(“grafico do cosseno”)

23 O octave também pode plotar gráficos somente conhecendo os valores, ou seja, sem a função

24 legend( 'texto1', 'texto2', 'location', 'pos' ): Coloca as legendas na posição indicada por pos, que podem ser: north, south, east, weast, northeast, northwest, southeast, southwest).

25

26

27 Gráficos em 3D

28 mesh( x, y, z ): Plota uma malha em 3D
mesh( x, y, z ): Plota uma malha em 3D. Superfícies tipo do mesh são úteis para gerar grácos de funções de duas variáveis. O primeiro passo para plotar uma função de 2 variáveis z=f(x,y) é gerar matrizes x e y contendo linhas e colunas repetidas, respectivamente, para funcionarem como o domínio da função. A função meshgrid transforma o domínio especificado por dois vetores em duas matrizes x e y. Essas matrizes então são usadas para avaliar a função de 2 variáveis. O exemplo gera o gráfico referente à função O comando eps no exemplo representa a precisão da máquina e evita uma divisão por zero na linha 3.

29

30 contour( z, w ): Plota linhas de contorno em duas dimensões
contour( z, w ): Plota linhas de contorno em duas dimensões. Se z depender de x e y, e w for uma constante, o resultado é a projeção de um gráfico em 3D no plano xy com w curvas de nível. O cotorno em 2D da função do exemplo anterior.

31 contour3( x, y, z, n ): Plota contorno em 3D com n iso-linhas
contour3( x, y, z, n ): Plota contorno em 3D com n iso-linhas. Na figura tem-se o contorno 3D da função do exemplo passado. >contour3(x,y,z,40)

32 surf( x, y, z ): Plota superfície 3D
surf( x, y, z ): Plota superfície 3D. A superfície 3D da função do exemplo passado. >surf(x,y,z)

33 surface( x, y, z ): Plota a superfície de contorno 2D de um gráfico 3D
surface( x, y, z ): Plota a superfície de contorno 2D de um gráfico 3D. Vejamos o exemplo passado A cor de cada ponto do gráfico é proporcional ao valor que ele possui. Isso é feito distribuindo-se cores para as faixas de valores assumidos pela função.

34 O comando subplot, com ele é possível fazer diversos gráficos em uma mesma tela, vejamos:

35

36 Obs.: exitem formas mais diretas de se plotar um gráfico
> fplot(‘1/(1+x.^2), [-5 5])

37 Para introduzir barras em um gráfico, temos o comando colorbar(‘east’)

38 4. Criando script No octave é possível criar um scritp para que não seja mais necessário repetir comandos. Basta escrever os comandos em um editor de texto e em seguida salvar com a extensão arquivo.m. Ou então, colocar: > edit Exemplo: resolução de equação do segundo graus.

39 Basta escrever o nome do arquivo, e então aparece as raízes da equação do segundo graus.

40 5. Estatística Abaixo temos um exemplo de cálculo de média e desvio padrão

41 Outra variável importante em estatística é o coeficiente de correlação (que mede o grau da correlação entre duas variáveis).

42 6. Polinômios Para se encontrar as raízes reais de um polinômio, basta utilizar a função roots( v ), que retorna em um vetor coluna, as raízes de um polinômio, cujos coeficientes das potências em ordem decrescente são os elementos do vetor v. As raízes do polinômio x2 + 3x - 4 são -4 e 1.

43 Outra forma de representação de polinômios é a seguinte:

44 Com o comando polyder é possível calcular a derivada de um dado polinômio.

45

46 Para calcular integral de um polinômio, segue o comando:
É possível ainda calcular o valor do polinômio, segue o comando:

47 Para o produto e o quociente,

48 7. Calculo integral (integral definida)

49 Outra forma de resolver uma integral definida é através do método trapezoidal. Utilizando o comando trapz(x,y)

50

51 8. Vetores No octave é possível fazer manipulações com vetores, como por exemplo, produto escalar, produto vetorial, e norma de um vetor.

52 Observação para os comandos: norm(v) (fornece o comprimento do vetor), w’*v (fornece o produto escalar), cross(v,w) (fornece o produto vetorial)

53 Existe outra forma de representar um vetor, ou seja,


Carregar ppt "Curso de modelagem numérica computacional com o software livre (Octave) Instituto Federal de Educação, Ciência e Tecnologia do Piauí –IFPI, campus Parnaíba."

Apresentações semelhantes


Anúncios Google