Tutorial Octave Matlab
Tutorial Octave Matlab
Tutorial 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
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.
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.
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: 2*pi/100: 2*pi];
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)
Traçar o gráfico com linha cheia, na cor preta, usando um “x” como marcador das
coordenadas.
Os comandos title, xlabel e ylabel permitem escrever um título para o gráfico e um
rótulo em cada um dos eixos. Deve-se passar como parâmetro para esses
comandos uma seqüência de caracteres entre aspas:
>> title(“Gráfico");
>>xlabel(“x”);
>> ylabel(“y”);
>>legend(“Gráfico nº1111”);
Para salvar o gráfico produzido em um arquivo de imagem do tipo PostScript.
Encapsulado (EPS), a seqüência de comandos é a seguinte:
Para fazer voltar para a tela, pode-se sair e entrar novamente no Octave ou
executar o comando:
>> gset term x11
Em ambiente Windows, o parâmetro “x11” no comando acima deve ser substituído
por “windows”. O comando close fecha a tela gráfica.
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(3*t),cos(5*t))
>> 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
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.
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
(11)
>> syms x
>> y=cos(x);
>> pretty(diff(y))
-sin(x)
(12)
>> syms x
>> y= cosh(x);
>> pretty(diff(y))
sinh(x)
(13) A integral
>> syms x
>> y=x.^3+x.^2+x
>> int (y)
ans =
1/4*x^4+1/3*x^3+1/2*x^2
x=
1.5708
(18) Raízes
%introduzir os coeficientes como uma matriz linha
>>p=[1 5 6];
>> roots(p)
ans =
-3.0000
-2.0000
y=
2 5
(20) Mais recursos para colorir gráficos
>> x=-3:0.1:3; y=x; [X,Y]=meshgrid(x,y); Z=X.^3 + Y.^3 - 5*X.*Y + 1/5;
>> surf(X,Y,Z), colormap([summer]);
>> surf(X,Y,Z);colormap([hot]);
6 Bibliografia
-Crawford, D. Gnuplot online documentation.
http://www.gnuplot.info/docs/gnuplot.html. 1998.
- Eaton, J. W. GNU Octave - A high-level interactive language for numerical
computation.
http://www.octave.org. 1997.
-Free Software Foundation. GNU General Public License. Version 2.
http://www.fsf.org/licensing/licenses/index html. Jun 1991.
- “Cálculo com Geometria Analítica", de Edwards e Penney, 4ª edição, 1999. LTC-
editora, Michigan.
-Hanselman, D; Littlefield, B; “Matlab Completo”, Ed Prentice Hall, 2003.