Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGuilherme Barreiro Alterado mais de 9 anos atrás
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).
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.
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:
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.
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)
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,
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.