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.

Slides:



Advertisements
Apresentações semelhantes
Carlos André Vaz Junior
Advertisements

Controle de Processos por Computador
O Maple na Aula de Matemática
MATLAB Comandos Básicos.
Funções Especiais Aula 3 – Prof Marli.
Capítulo 2 - Derivadas No final do capítulo 1, já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando.
Derivadas Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando ele existia, de derivada de f em.
Desigualdades e inequações em R.
Universidade Federal de Ouro Preto (UFOP)
Curso MATLAB 6 Instrutor: Marcelo Escobar Complementação da Introdução.
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
Linguagem Orientada a Matrizes COB 727
O que você deve saber sobre
O que você deve saber sobre
Polinômios Prof. Marlon.
Números Complexos 2 Prof. Marlon.
PUCRS Introdução a gráficos.
4. Operadores e Aritmética. Introdução à Programação Prolog2 Operadores Na matemática costuma-se escrever expressões como 2*a + b*c onde + e * são operadores.
Lógica de Programação Módulo II
DESENVOLVIMENTO DE COMÉRCIO ELETRÔNICO
Funções Matemática.
3 - Equações Lineares de Segunda Ordem
GET – Engenharia de Produção
Campus de Caraguatatuba
Números Complexos Definição: Um número complexo z pode ser definido como um par ordenado (x, y) de números reais x e y, z = (x, y) (1) sujeito.
Função acos() Função acos Protótipo double acos ( double x ) Cabeçalho
Aula prática 6 Vetores e Matrizes
Matlab– Noções introdutórias
Linguagem de Programação II Parte IX
Análise de modelos matemáticos por meio de simulações computacionais
Capítulo 10 Funções polinomiais slide 1
Aula 13 Derivação Implícita, derivadas das funções trigonométricas inversas e derivadas de funções logarítmicas.
Fábio de Oliveira Borges
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB
Matlab Mini Curso PET 2012.
Monitoria de Sistemas Inteligentes
Sistema de equações lineares
Sistemas de Controle de Aeronaves II
Campus de Caraguatatuba Aula 12: Sistemas de Equações Lineares (2)
Minicurso MATLAB Básico
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Campus de Caraguatatuba
Unidades de Gestão: gep | getec | gead
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Formas de calibração 1º - Padrões externos É a forma mais utilizada de calibração. São utilizadas soluções contendo concentrações conhecidas do analito.
Matemática Discreta 1 – MD 1
Aula 14 Disciplina: Sistemas de Controle 1 - ET76H
Função quadrática: a função geral de 2º grau
Campus de Caraguatatuba
Polinômios e equações algébricas
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Programação e Aplicações Gráficas
EDO’s de 2ª ordem lineares não homogêneas Método dos coeficientes a determinar Cálculo 2 A – Turma H
Introdução à Linguagem JavaScript
Introdução ao MATLAB 5.3 para Hidrólogos
Campus de Caraguatatuba
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
MATLAB - Matrix Laboratory Adaptado de Profa
Fundamentos de linguagens de programação
Algoritmos.
MATLAB - Matrix Laboratory Adaptado de Profa
Potenciação an = a . a . a a (a ≠ 0) n fatores onde: a: base
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
©Prof. Lineu MialaretAula 4 - 1/27Matemática Discreta I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba.
Cálculo Diferencial e Integral I
Shell Script Parte 2.
Paradigmas das Linguagens de Programação - História
MatLab (Matrix Laboratory)
Sistemas de Controle III N8SC3
Transcrição da apresentação:

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

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.

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

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

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

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.

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:

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.

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:

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: 2.71828182845905 Agora com dois ‘disp()’. Perceba que há uma vírgula entre eles! Num utilizei uma string e em outro coloquei o número ‘e’.

>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

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

>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

>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

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)

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.

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

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

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

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

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

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

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

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

Gráficos em 3D

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.

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.

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)

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)

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.

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

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

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

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.

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

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

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

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.

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

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

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

Para o produto e o quociente,

7. Calculo integral (integral definida)

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

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

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)

Existe outra forma de representar um vetor, ou seja,