Professional Documents
Culture Documents
Francesco Franco
Matlab® é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a
manipulação deles. A interface segue uma linguagem que é projetada para parecer como a notação usada na
álgebra linear.
Este tutorial o guiará nos primeiros passos para o uso de Matlab®. Abra o programa. A janela principal é
subdividida em três janelas. A janela Command é aquela na qual você insere seus comandos (depois de um
>>, que é usado para denotar uma linha de comando).
I
Vetores: Quase todos os comandos básicos de Matlab® giram em torno do uso de vetores. Para simplificar a
criação de vetores, você pode definir um vetor ao especificar a primeira entrada, um incremento, e a última
entrada. Matlab® automaticamente descobrirá de quantas entradas você precisa e quais os valores. Por
exemplo, para criar um vetor cujas entradas sejam 1, 3, 5 e 7, digite o seguinte:
Matlab® continua a rastrear o último resultado. No exemplo anterior, a variável "ans" é criada. Para ver a
transposição do resultado anterior, insira o seguinte (' é o operador de transposição):
Para ser capaz de rastrear os vetores que cria, você pode dar nome a eles. Para criar um vetor v de fileira:
Se você adicionar um ponto-e-vírgula (;) no final da linha de comando, o resultado não será exibido.
Matlab® permitirá que você procure por partes específicas do vetor, para assim trabalhar com os 3 primeiros
elementos de v:
Depois que você dominar a notação, estará livre para realizar outras operações:
A definição de uma matriz é semelhante à definição de um vetor. Para definir uma matriz, você pode tratá-la
como uma coluna de vetores de fileira (observe que os espaços são obrigatórios!):
Agora você tem várias variáveis definidas. Se você perder o controle de quais variáveis foram definidas, o
comando whos lhe indicará todas as variáveis presentes em sua área de trabalho.
É claro que você pode multiplicar matrizes e vetores (tenha o cuidado de deixá-las todas do tamanho
correto):
Você pode trabalhar com partes diferentes de uma matriz, do mesmo modo que com vetores, para assim
trabalhar com a sub-matriz A(1:2:2:3):
Assim que você conseguir criar e manipular uma matriz, será possível realizar várias operações-padrão nela.
Por exemplo, é possível encontrar o inverso de uma matriz. Entretanto, você deve tomar cuidado, pois as
operações são manipulações numéricas feitas em computadores digitais (calcule o determinante de A...
talvez usando Matlab o comando seja det(A)). O software ainda lhe dará a resposta:
Uma fonte de problema é que Matlab® faz a diferenciação do uso de maiúsculas e minúsculas, de modo que
A não é a. Todas as operações disponíveis estão no manual e na ajuda de Matlab®. Uma maneira fácil de se
lembrar de o que uma operação faz é inserir help "nome da operação" na linha de comando. Por exemplo,
para encontrar os autovalores da matriz, o comando é eig. Vamos ver como usar esse comando:
Assim, digitando eig(A), os autovalores são exibidos, enquanto ao digitarmos [v,e]=eig(A) nós temos tanto
os autovalores quanto os autovetores:
Agora, se você quiser descobrir x2, que é a solução de v=Bx:
Se v=xB, então
Para limpar todos os dados na memória, use clear (faça uma verificação usando whos logo depois). Para
obter uma relação completa dos operadores, digite help +. Você deve saber as regras para adicionar, subtrair,
multiplicar e dividir matrizes (elas devem ser semelhantes).
Muitas vezes queremos fazer uma operação a cada entrada em um vetor ou matriz. Matlab® permitirá que
você faça isso com operações "conscientes" do elemento. Por exemplo, vamos supor que você queira
multiplicar cada entrada em um vetor v por sua entrada correspondente no vetor b. Em outras palavras,
vamos supor que você queira encontrar v(1)*b(1), v(2)*b(2) e v(3)*b(3). Seria ótimo usar o símbolo "*", já
que você está fazendo um tipo de multiplicação, mas como ele já tem uma definição, temos que fazer alguma
outra coisa. Os programadores que criaram Matlab® decidiram usar os símbolos ".*" para isso. Na verdade,
você pode colocar um ponto final na frente de qualquer símbolo matemático para dizer ao Matlab® que você
deseja que a operação ocorra em cada entrada do vetor.
Agora trabalharemos com um vetor grande, e vamos usar outras funções sofisticadas (se você passar um
vetor para uma função matemática predefinida, ele retornará um vetor do mesmo tamanho, e cada entrada
será encontrada ao se realizar a operação especificada na entrada correspondente do vetor original. Lembre-
se de usar a vírgula caso você não queira o que o resultado seja impresso na tela).
Agora vamos fazer um gráfico do resultado:
Para ver todas as opções de gráficos, digite help plot (gráfico gerado pelo Matlab®)
II
Haja vista o fator de que escreveremos programas, os Loops irão se tornar muito importantes. O loop nos
permite repetir certos comando. Se você quiser repetir alguma ação de alguma forma predeterminada, é
possível usar o loop "for". Todas as estruturas do loop no Matlab® são iniciadas com uma palavra-chave
como "for" ou "while" e todas terminam com a palavra "end". O loop "for" irá girar ao redor de alguma
declaração, e você deve dizer ao Matlab® onde iniciar e onde terminar. Basicamente, você dá um vetor na
declaração "for" e o Matlab® fará o loop para cada valor no vetor:
Outro exemplo é aquele no qual queremos realizar operações nas fileiras de uma matriz. Se você quiser
iniciar na segunda fileira de uma matriz, depois subtrair da primeira fileira da matriz e em seguida repetir
essa operação nas fileiras seguintes, um loop "for" pode fazer isso em uma ordem curta:
O loop "while" repete uma seqüência de comandos desde que algumas condições sejam cumpridas. Por
exemplo, vamos criar um Passeio Aleatório y(t)=y(t-1) +ε(t), onde ε é iid (N(0,1) e y(0)=0.
III
Agora nós temos instrumentos suficientes para criar um arquivo executável. Quando você tiver uma rotina
geral em um arquivo Matlab®, ele permitirá que você realize operações mais complexas e será mais fácil de
repetir essas operações. Por exemplo, você deve ter um conjunto de instruções para criar um Passeio
Aleatório, mas pode querer usar essas instruções para condições iniciais, e o número de observações.
Primeiro, você precisará criar o arquivo. Vá até File, escolha New e depois M.file. Isso abre o editor do
Matlab®. Digite o seguinte:
Depois que os comandos estiverem no lugar, salve o arquivo. Volte para a janela original e inicie o Matlab®.
O arquivo é chamado ao digitar simplesmente Randomwalk no nome de base (você deve estar no diretório
certo, você pode usar o caminho chdir).
Às vezes você pode querer repetir uma seqüência de comandos, mas pode querer ser capaz de fazê-lo com
diferentes vetores e matrizes. Uma maneira de facilitar isso é pelo uso de sub-rotinas. As sub-rotinas são
como arquivos executáveis, mas você pode passar diferentes vetores e matrizes para usar. Por exemplo, você
pode querer calcular a utilidade de consumo usando uma função de utilidade de energia. Então, criaríamos a
rotina poweru que calcula essa utilidade quando a chamamos. A única diferença com o arquivo executável é
que na primeira linha teremos a função[x] = power(c) (é necessária um c como entrada):
Como você pode ter notado, nós usamos a declaração "se" (if). Às vezes, você pode querer que se código
tome uma decisão.No caso anterior, você deseja que a rotina use formas funcionais diferentes dependendo do
valor de RRA. Assim, se usamos no log gama=1, ou se gama for menor que zero, o programa dirá que esse
valor é inválido. Cada declaração "if" deve ser terminada com um comando end, pois você também pode
criar um bloco else ou elseif dentro de uma declaração if (digite Help if).