Você está na página 1de 12

Tutorial de Matlab®

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:

vetor cujas entradas sejam 1, 3, 5 e 7, digite o seguinte: Matlab® continua a rastrear

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

insira o seguinte (' é o operador de transposição): Para ser capaz de rastrear os vetores

Para ser capaz de rastrear os vetores que cria, você pode dar nome a eles. Para criar um vetor v de fileira:

Para ser capaz de rastrear os vetores que cria, você pode dar nome a eles. Para

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:

para assim trabalhar com os 3 primeiros elementos de v: Depois que você dominar a notação,

Depois que você dominar a notação, estará livre para realizar outras operações:

a notação, estará livre para realizar outras operações: A definição de uma matriz é semelhante à

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!):

de fileira (observe que os espaços são obrigatórios!): Você também pode tratá-la como uma fileira de

Você também pode tratá-la como uma fileira de coluna de vetores:

pode tratá-la como uma fileira de coluna de vetores: Agora você tem várias variáveis definidas. Se

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.

quais variáveis foram definidas, o comando whos lhe indicará todas as variáveis presentes em sua área

É claro que você pode multiplicar matrizes e vetores (tenha o cuidado de deixá-las todas do tamanho

correto):

(tenha o cuidado de deixá-las todas do tamanho correto): Você pode trabalhar com partes diferentes de

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

trabalhar com a sub-matriz A ( 1 : 2 : 2 : 3 ) : Assim

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:

comando seja det(A)). O software ainda lhe dará a resposta: Uma fonte de problema é que

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:

de comando. Por exemplo, para encontrar os autovalores da matriz, o comando é eig. Vamos ver
Assim, digitando eig(A), os autovalores são exibidos, enquanto ao digitarmos [v,e]=eig(A) nós temos tanto os

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:

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 x 2 , que é a solução de v=Bx:

você quiser descobrir x 2 , que é a solução de v=Bx: Ou usando o operador

Ou usando o operador \ (divisão da matriz esquerda):

v=Bx: Ou usando o operador \ (divisão da matriz esquerda): Se v=xB, então Para limpar todos

Se v=xB, então

o operador \ (divisão da matriz esquerda): Se v=xB, então Para limpar todos os dados na

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

+. Você deve saber as regras para adicionar, subtrair, multiplicar e dividir matrizes (elas devem ser
Muitas vezes queremos fazer uma operação a cada entrada em um vetor ou matriz. Matlab®

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.

deseja que a operação ocorra em cada entrada do vetor. Agora trabalharemos com um vetor grande,

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

Agora vamos fazer um gráfico do resultado:

Agora vamos fazer um gráfico do resultado: Para ver todas as opções de gráficos, digite help
Agora vamos fazer um gráfico do resultado: Para ver todas as opções de gráficos, digite help

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:

Por exemplo, um loop simples ocorrerá quatro vezes:

vetor: Por exemplo, um loop simples ocorrerá quatro vezes: Outro exemplo é aquele no qual queremos

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:

e em seguida repetir essa operação nas fileiras seguintes, um loop "for" pode fazer isso em
O loop "while" repete uma seqüência de comandos desde que algumas condições sejam cumpridas. Por

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.

sejam cumpridas. Por exemplo, vamos criar um Passeio Aleatório y(t)=y(t-1) + ε (t), onde ε é
III Agora nós temos instrumentos suficientes para cria r um arquivo executável. Quando você tiver

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:

criar o arquivo. Vá até File, escolha New e depois M.file. Isso abre o editor do
Depois que os comandos estiverem no lugar, salve o arquivo. Volte para a janela original

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

com o arquivo executável é que na primeira linha teremos a função[x] = power(c) (é necessária

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