Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Tutorial Octave Matlab, Notas de estudo de Cultura

- - -

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 11/08/2008

felipe-lima-10
felipe-lima-10 🇧🇷

3 documentos

1 / 26

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Tutorial GNU Octave/Matlab
       !"#%$&  '
Cássia Barbosa Teixeira
Turma A
RA 042565
Campinas, Novembro, 2005.
Sumário
1 Introdução. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.1 Breve Histórico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.2 Como obtê-lo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Iniciando o Octave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 A área de Trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Usando o Octave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.1 Operações básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Definição de variáveis. . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Formatação e precisão numérica. . . . . . . . . . . . . . . . . . 6
2.4 Repetindo comandos anteriores. . . . . . . . . . . . . . . . . . . 6
2.5 Outros comandos úteis. . . . . . . . . . . . . . . . . . . . . . . . . .7
3 Recursos Gráficos
3.1 A janela gráfica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Gráficos bidimensionais. . . . . . . . . . . . . . . . . . . . . . . . . .8
3.3 Gráficos tridimensionais. . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Funções. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
4.1 Definição de funções. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Exercícios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
6. Bibliografia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Pré-visualização parcial do texto

Baixe Tutorial Octave Matlab e outras Notas de estudo em PDF para Cultura, somente na Docsity!

Tutorial GNU Octave/Matlab

Cássia Barbosa Teixeira

Turma A RA 042565 Campinas, Novembro, 2005.

Sumário

1 Introdução...................................... 1.1 Breve Histórico................................. 1.2 Como obtê-lo................................. 3 1.3 Iniciando o Octave............................. 3 1.4 A área de Trabalho............................. 3

2 Usando o Octave............................... 2.1 Operações básicas............................. 4 2.2 Definição de variáveis........................... 5 2.3 Formatação e precisão numérica.................. 6 2.4 Repetindo comandos anteriores................... 6 2.5 Outros comandos úteis..........................

3 Recursos Gráficos 3.1 A janela gráfica................................ 7 3.2 Gráficos bidimensionais.......................... 3.3 Gráficos tridimensionais......................... 10

4 Funções....................................... 4.1 Definição de funções........................... 12

5 Exercícios..................................... 14 5.1 Exercícios...................................

  1. Bibliografia.................................... 24

1 Introdução

Esse tutorial apresenta os conceitos básicos do GNU Octave, uma importante ferramenta de cálculo científico que tem a vantagem de ser um software livre. Este tutorial mostra como usar o Octave em aplicações interessantes para o cálculo I, como limites, derivadas, integrais e traçado de gráficos simples. O tutorial aqui apresentado foi montado especialmente para a disciplina de Cálculo I ministrada pelo Profº Drº Márcio Rosa Imecc-Unicamp.

1.1 Breve Histórico

O Octave é um software livre, escrito por Eaton (1997) e por vários outros Colaboradores. Originalmente concebido como livro texto para estudantes de graduação de química para a resolução de equações químicas complexas; inicialmente foi escrita por James B. Rawlings da University of Wisconsin-Madison e John G. Ekerdt of the University of Texas. O Octave é um programa de linguagem aberta, logo muitas pessoas contribuem com sentenças de comando que são adicionados às versões em fase de teste, essas contribuições estão disponíveis no site da GNU Octave. O software está disponível sob os termos da Licença Pública Geral do GNU (GPL) (Free Software Foundation, 1991). O programa possui uma interface por linha de comandos para a solução numérica de problemas lineares e/ou não lineares e para implementar outros experimentos numéricos usando uma linguagem que é compatível com o programa comercial Matlab. O Matlab foi desenvolvido no início da década de 80 por Cleve Moler, no Departamento de Ciência da Computação da Universidade do Novo México, EUA É um "software" interativo de alta performance voltado para o cálculo numérico. Faz análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar, onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional, os elementos básicos de informação é uma matriz que não requer dimensionamento. Além disso, as soluções dos problemas são expressas no MATLAB quase exatamente como elas são escritas matematicamente. O Octave possui muitas ferramentas para a solução numérica de problemas comuns de álgebra linear, para a determinação de raízes de equações, polinômios e integração de equações diferenciais e equações diferencias algébricas. Programas como o Octave são usados freqüentemente no lugar de linguagens de programação científica como o C ou Fortran, por já trazerem embutidas muitas ferramentas numéricas e permitirem a visualização gráfica dos resultados de forma mais fácil.

2 Usando o Octave

2.1 Operações básicas com o Octave

A forma mais simples de trabalhar com o Octave é digitar os comandos matemáticos, como em uma calculadora normal. Exemplo: somar 2+

2+ Teclando Enter, tem-se o resultado: ans = 5 O valor calculado é exibido e guardado na variável ans, do inglês answer (resposta), e pode ser usado no cálculo seguinte: ans+ ans = 15 As operações aritméticas básicas são obtidas pelos seguintes operadores: Tabela1: Operadores aritméticos. Operador Operação

  • subtração
  • multiplicação / divisão ^ potência

A ordem com que as operações são feitas é a usual, ou seja, parênteses são calculados primeiramente, seguidos de potência, multiplicação e divisão e, finalmente, adição e subtração. O Octave possui uma série de funções matemáticas, sendo algumas delas apresentadas na Tabela 2.

Tabela2: Funções trigonométricas.

Por exemplo, para calcular 1.2 sin(40_ + ln(2.4)²), digita-se

1.2 * sin(40*pi/180 + log(2.4^2)) ans = 0. Conforme se pode notar, os ângulos usados como argumentos nas funções trigonométricas devem estar em radianos. Para fazer a transformação de graus para radianos, pode-se multiplicar o valor por _/180. A operação de multiplicação deve ser sinalizada de forma explícita pelo uso do operador *, como indicado entre 1.2 e sin. As constantes e, pi assumem valores já definidos, por exemplo: e e= 2. pi pi = 3. Pode-se também mostrar mensagens na tela com o comando disp(“”), assim:

Função Descrição Função Descrição abs(x) Módulo de x^ sinh (x) Seno hiperbólico acos(x) Arco cosseno é x^ tan(x) Tangente de x cos(x) Cosseno de (x em rad)^ exp(n) Função exponencial^  cosh(x) Cosseno hiperbólico^ log10(x) Logaritmo de x na base 10 Round(x) Arredonda o valor de x

disp(“Octave para iniciantes!”) Octave para iniciantes!

2.2 Definição de variáveis

É possível definir variáveis a serem usadas na sessão de trabalho, na definição dos nomes das variáveis, Octave diferencia letras maiúsculas de minúsculas. Por exemplo, a é diferente de A. Um exemplo:

a= a = 3 Pressionando Enter o Octave confirma na tela o valor atribuído, a menos que seja colocado um caractere de ponto-e-víırgula (;) no final do comando b=2.5; Pode-se digitar vários comandos em uma mesma linha, separando-os por vírgula ou por ponto e vírgula: a=3, b=2.5; c=7. a = 3 c = 7. Uma vez definidas as variáveis, pode-se efetuar operações com as mesmas: a+b ans = 5. É possível definir números complexos especificando sua parte imaginária por meio

da variável pré-definida i:

c=3+2i c = 3 + 2i Além da variável, que como é de se esperar vale p−1, e da variável ans, que toma o resultado do último cálculo realizado, outras variáveis pré-definidas no Octave são pi, que vale 3.14159... e j, que assim como i vale p−1. Essas variáveis podem ser redefinidas pelo usuário, mas para evitar enganos é melhor não fazê-lo. Da mesma forma, não é recomendável dar às variáveis nomes de funções, como sin e cos. Para saber quais são as variáveis nomeadas, digita-se: who *** dynamically linked functions: dispatch *** local user variables: a b c 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

2.5 Outros comandos úteis

O Octave possui um sistema de ajuda integrado, que pode ser bastante útil para obter maiores informações sobre um comando ou encontrar uma função em particular. Para usar a ajuda basta digitar: >> help nome_do_comando Para interromper a execução de comandos que estejam demorando muito para serem executados aplica-se Ctrl-C. O comando date mostra a data atual em dia-mês-ano, o comando clock exibe a hora atual na forma ano, mês, dia, hora, minuto e segundo. Exemplo:

date ans=19-nov- clock ans=2005 11 19 13 54 47 O Octave possui um comando que exibe os tópicos da ajuda: help Para obter ajuda informações sobre um tópico específico, digite help tópico help plot Para limpar a tela de comando basta ir ao menu Edit opção Clear Command Window, assim tudo o que já foi digitado será apagado. Após a digitação de um comando é conveniente usar ponto e vírgula, assim ao se pressionar a tecla enter não será mostrado o que este comando executou.

3 Recursos Gráficos

3.1 A janela gráfica

Além de um ambiente de trabalho baseado em linha de comando, quando usado em um ambiente XWindow, o Octave cria automaticamente uma janela separada para a apresentação de gráficos (Figura 1). Mesmo em ambiente texto é possível direcionar a saída gráfica para um arquivo, de forma a visualizá-lo posteriormente em outro aplicativo.Após aplicar o recurso plot ou outro qualquer, a janela gráfica aparecerá com, toda vez que uma modificação for feita na função o gráfico muda de aparência. Figura 1: Janela gráfica do MatLab (que será usada como recurso gráfico).

3.2 Gráficos bidimensionais

O Octave pode plotar uma variedade de gráficos usando o Gnuplot e o ImageMagick para mostrar as imagens. O comando básico para o traçado de gráficos bidimensionais é o plot(x,y). Os parâmetros x e y são as coordenadas a serem traçadas. Se x e y forem um par de escalares, somente um ponto é traçado. Usando vetores, o programa irá traçar todos os pontos correspondentes a esses valores uni-los por linhas retas. O primeiro passo para o traçado de gráficos 2D é formar uma tabela de coordenadas (x, y) da função a ser plotada. O procedimento para criar essa tabela usando vetores foi mostrado em seção anterior. Tome-se, como exemplo, a função cos(x), a ser traçada no intervalo entre 0 e 2_. Para construir um vetor x, com 100 valores dentro desse intervalo, pode-se usar o comando:

x=[0: 2pi/100: 2pi]; Outra opção é o uso do comando, este comando é o mais usado: x=linspace(0, 2*pi); Para completar a tabela de coordenadas, determina-se o vetor y correspondente aos valores em x. Isso é feito simplesmente invocando a função com o comando: y=cos(x); Uma vez construída a tabela com as coordenadas (x, y), pode-se usar a função plot: plot(x,y) A Figura 2 mostra a curva obtida y = cos(x)

Linhas de grade podem ser adicionadas ao gráfico com o comando

grid on O resultado é mostrado na Figura 3. O comando grid off retorna ao modo sem linhas de grade.

Para traçar gráficos de funções paramétricas, deve-se usar o comando gset parametric. Por exemplo, para traçar o gráfico da equação _ x = sen(3t) y = cos(5t), com o argumento t variando no intervalo [−_, _], pode-se usar a seguinte seqüência de comandos:

gset parametric t=-pi: pi/100: pi; plot(sin(3t),cos(5t)) gset noparametric O comando gset é usado novamente, para desativar o traçado de funções paramétricas. Também podemos usar uma formatação de texto especial para símbolos como pi, delta e alfa, existe uma seleção com mais de 75 desses símbolos. Na tabela 6 vemos os mais utilizados. Tabela 6: Símbolos mais utilizados em cálculo. Seqüência Símbolo Seqüência Símbolo \alpha  \theta  \beta  \lambda  \gamma  \pi  \delta  \int  \epsolon \infty \omega \rho

3.3 Gráficos tridimensionais (R³)

O comando mesh(x,y,z) permite traçar a malha para gráficos tridimensionais, da forma z = f(x, y). Por exemplo, a função z = cos(x)sin(y) no intervalo [0, 2_] dividido em 50 incrementos. Os comandos produzem a curva mostrada na Figura 4.

x=[0: 2pi/50: 2pi]’; y=x; z=cos(x)*sin(y’); mesh(x,y,z) Figura 4: Gráfico de z = sin(x)cos(x)

Para mudar o ângulo de visão, pode-se clicar com o botão direito do mouse sobre a figura, e arrastá-la para uma nova posição.

Enquanto o comando mesh(x,y,z) representa o gráfico por meio de uma malha, o comando surf(x,y,z) representa a função tridimensional como uma superfície, adicionando à malha efeitos de cores e profundidade. Uma vez que essa função e acionada, as chamadas subseqüentes à função mesh irão também mostrar uma superfície com os mesmos efeitos de profundidade, a não ser que o comando clf seja usado antes para limpar a janela gráfica, ou então o comando close seja usado para fechá-la. A seqüência de comandos usados para o gráfico da Figura 4 é válida para funções do tipo z = f(x)g(y). Para outros tipos de funções um outro procedimento é necessário. Considere-se, por exemplo, a função z = (x − 3)² − (y − 2)². Uma seqüência de comandos para traçar o gráfico dessa equação é a seguinte:

x = 2: 0.2: 4; y = 1: 0.2: 3; [xx,yy] = meshgrid(x,y); z = (xx-3).^2 - (yy-2).^2; surf(x,y,z) Esses comandos produzem a forma de sela, mostrados na Figura 5. O comando meshgrid, usado no exemplo acima, recebe dois vetores de coordenadas x e y e retorna duas matrizes correspondentes às coordenadas da malha. As linhas de xx são cópias de x e as colunas de yy são cópias de y.

Figura 5: Gráfico de z = (x − 3)² − (y − 2)²

O Octave também pode traçar gráficos em escalas especiais:

  • loglog gráfico com base log nos eixos.
  • semilogy gráfico com eixo x linear e eixo y logarítmico.
  • semilogx gráfico com eixo y linear e eixo x logarítmico.
  • Polar gráfico em coordenadas polares.

Tabela 7: manipulação de funções. Função Operação diff(f) Calcula a derivada indefinida de f. int(f) Calcula a intergral indefinida de f compose(f,g) Determina a composta de f e g. Finverse(expr) Expande uma expressão. finverse(expr) Determina a inversa funcional da expressão expr. Simple(expr) Procura uma foram simples de escrever a expressão. petty(expr) Exibe a expressão numa forma mais bonita. Simplify(expr) Simplifica a expressão expr. Solve (expr) Acha as soluções da equação expr= Syms x y z a Define as variáveis simbólicas x, y, z, e a.

Tabela8: Comandos para otimização fmin Minimiza a função de uma variável fzero Encontra o zero da função de uma variável fmins Minimiza uma função de muitas variáveis

Tabela9: Comandos para integração usando quadratura quad Calcula a integral numericamente, método para baixar ordem quadb Calcula a integral numericamente, método para aumentar ordem

Tabela10: Cores utilizadas em recursos gráficas.

.

Função Descrição Função Descrição Hsv (^) cores saturadas Copper (^) tons acobreados.

Hot (^) Preto-vermelho-amarelo-branco Flag (^) Vermelho, branco, azul e preto alternados. Gray (^) linear de tons de cinza. Cool (^) Tons de ciano e magenta

Bone (^) tons de cinza levemente azulados. lines (^) cores que usa comando plot Jet (^) variante do mapa hsv Pink (^) Tons pastéis de rosa.

5 Exercícios

Alguns exercícios do livro “Cálculo com geometria analítica” do Edwards e Penney (maiores informações na bibliografia) são resolvidos usando os recursos mostrados anteriormente

5.1 Exercícios recomendados

A seguir, temos a resolução de alguns interessantes.

f ( x ) = 1/(1- x^2 ) %é a função dada;

syms x %declarando uma variável simbólica; f=1/(1-x^2); %aparência da função na janela gráfica; ()( ^ ^ #+,-#%.^ /!0.^ 01+.^2 003!4^5 6 ^ 7^ ^ #%^ ^ #%$78^ ^ ^9 :^  )^ ^ /^ !*0.^ *01%

x=linspace(-2pi,2pi,100); y=cos(x); plot(x,y); title('Grafico de y=cos(x) no intervalo [-pi,pi]'); title('Grafico de y=cos(x) no intervalo [-2pi,2pi]');

x=linspace(-2pi,2pi,100); y=tan(x); plot(x,y); title('Grafico y=tan(x)no intervalo [\pi,\pi]'); %a notação \pi serve para mostrar o carácter .

istr = ’(x-2)²’; ezplot (istr, [-2 2]); axis square grid title (‘Grafico da função y=(x-2)²’);

istr = ’(x-1)³’; ezplot (istr, [-10 10]); grid title (Gragico de y=(x-1)³); xlabel (‘eixo x’); ylabel (‘eixo y’);