Documente Academic
Documente Profesional
Documente Cultură
Caractersticas
MATtrix LABoratory
IDE (Integrated development environment)
Linguagem de alto nvel
Vantagens
Desvantagens
Alto custo monetrio
Linguagem semi-interpretada
Uso intensivo de memria
Linguagem mal projetada
Entrando Comandos
Comandos podem ser executados na command window, ao serem escritos aps o MATLAB prompt
(>>) e pressionando a tecla Enter.
resultado1 = 2*3
Workspace
Todas as variveis criadas so salvas no Workspace.
Caso no seja especificado, todo clculo ou varivel de sada guardado na varivel ans.
save myWorkspace.mat
deletado
clear
e recuperado
load myWorkspace.mat
Miscelnea
O comando clc limpa a command window
clc
Ao colocar um ponto e virgula/semicolon (;) aps algum comando suprimimos o seu output
withOutput = [1 2 3]
withoutOutput = [1 2 3];
Ao apertar a tecla TAB o MATLAB tentar completar aquilo que voc est escrevendo olhando para
possveis nomes de funes no path ou em nome de variveis
Para repetir comandos utilizados anteriormente aperte a tecla seta pra cima ()
exist('sum')
Obtendo Ajuda
O sistema de ajuda do MATLAB bastante completo. Caso voc queria saber a utilidade de uma
funo simplesmente selecione a funo e aperte F1. Pode-se tambm digitar help 'nome da
funo', no entando esse mtado faz com que a ajuda aparec na Command Window, o que no
muito prtico
help sum
Para procurar um determinado termo na definio de todas as funes do MATLAB utilize o seguinte
comando
lookfor sum
Ao apertar apenas F1, sem selecionar nada, a ajuda geral do MATLAB aparece
Formato de exibio
A partir do comando format podemos mudar o formato de exibio dos nmeros na "command
window"
note que esses comandos no mudam os nmeros em si, apenas como o MATLAB nos mostra o seu
valor.
Criao de Matrizes
Todas as variveis no Matlab so matrizes, o que significa que elas podem conter mltiplos elementos.
Um nico nmero, chamado de escalar, na verdada uma matriz 1x1. Ou seja, contem 1 linha e 1
coluna
Para criar uma matriz utilizamos os operadores colchetes/brackets ([]), onde cada elemento separado
por um espao ou virgula.
array1 = [1 2 3 4]
array2 = [2,4,6,8]
As matrizes acima tem apenas uma dimenso podendo ser chamadas de vetores/vectors.
Para criar uma matriz com multiplas linhas utilizado o ponto e virgula/semicolon(;)
Note que tanto a virgula como o espao podem ser utilizados intercambiavelmente.
O operador dois pontos/colon (:) utilizado para criar matrizes com valores incrementais. atravs da
forma comeo:incremento:fim
0:5:150
Caso voc saiba o nmero de elementos que deseja no vetor (ao invs doespaamento entre cada
elemento) voc pode utilizar a funo linspace(comeo,fim,numero_de_elementos).
linspace(0,150,31)
Outro mtodo de criar matrizes atravs da utilizao de funes prprias como zeros,ones,rand
e magic. O funcionamento dessas funes do tipo funcao(numero_de_linhas,
numero_de_colunas)
a = [1 2 3 4]
b = [2 4 6 8]
a + 10 %soma
a - 10 %subtrao
a' %transposio
a * b' %multiplicao de matrizes
Note que a operador de multiplicao atua como uma multiplicao normal de matrizes. Na maioria das
vezes no entanto, queremos que ocorra a multiplicao elemento pora elemento, sendo assim usado o
ponto/dot(.)
a.*a %multiplicao
a.^3 %potncia
a./b %diviso
a.\b %diviso inversa
Note que no existe diviso entre matrizes, dessa forma o operador barra/slash(/) e barra invertida/
backslash (\) quando no acompanhados do ponto so utilizado para resolver sistemas lineares. Por
exemplo no sistema abaixo o vetor que resolve a aqueo
A = rand(4)
B = [1 2 3 4]
x = B/A
x = A'\B'
OBS : Teoricamente o operador para transpor matrizes o .' uma vez que se usarmos apenas o
' em matrizes imaginrias, teremos o seu conjugado complexo. Para matrizes reais .' e ' so
equivalentes.
Concatenao
Concatenao o processo de jutnar matrizes em uma matriz maior. Na verdade j usamos
concatenao quando criamos nossa primeira matriz, ao juntar nmeros que nada mais so matrizes
de tamanho 1x1.O operador de concatenao so os colchetes/brackets ([])
[a,a]%concatenao horizontal
[a a]
[a;a]%concatenao vertical
Indexao
Podemos selecionar vrios elementos de uma matriz simultaneamente utilizando indexao. Para
tanto utilizamos a seguinte construo M(m,n). onde M a matriz quais elementos esto sendo
selecionados, m a linha e n a coluna
M = magic(4)
M(1,2) %elemento da primeira linha e segunda coluna de M
Tambm pode ser utilizado apenas um ndice ao qual far com que a busca seja realizada seguindo as
colunas da matriz
Pode-se usar a palavra-chave end para se referir ao ltimo elemento de uma matriz.
M(1,end)
M(end,2)
M(end-1,end-2)
Se quisermos selecionar vrias linhas e colunas simultaneamente, utilizamos vetores como elemento
de indexao.
M([1 2 3],4)
M(1:3,4)
Quando no colocamos argumentos junto dos dois pontos selecionamos todos os elementos daquela
dimenso
Colocando apenas os dois pontos selecionamos todos os elementos da matriz e os colocamos num
vetor coluna. Caso essa construo ocorra do lado esquerdo de uma expresso, preenche-se a matriz,
preservando o seu formato.
Para deletar algum elemento de uma matriz utilizamos uma matriz vazia ([])
matrix(2) = []
Note que a matriz teve seu formato modificado uma vez que no temos elementos suficientes para
manter ela no formato original.
Exerccio 1
1 - Criem uma matriz M atravs do comando M = magic(7)
2 - Criem um varivel chamada "firstLineSecondColumn", com o elemento da primeira linha e segunda
coluna da matriz M.
3 - Criem uma varivel chamada "lastLineFirstColumn", com o elemento da ultima linha e primeira
coluna da matriz M.
4 - Criem uma nova varivel chamada "oddIndices" contendo apenas os elementos de ndice mpares
da matriz M.
5 - Criem uma nova varivel chamada "allExceptFirstLine" contendo todos os elementos de M, menos
aqueles da primeira linha.
6 - Crie uma nova varivel "corners" contendo apenas os elementos dos cantos de M.
9 - Descubra qual o valor da soma dos elementos da primeira linha de M multiplicados pelos
elementos da segunda coluna de M.
11 - Crie uma varivel chamada "equalSpaced" contendo 11 elementos igualmente espaados entre 1
e 51
Exemplo prtico 1
A trajetoria de um objeto pode ser modelada como
Funes matemticas
O Matlab apresenta uma srie de funes matemticas bsicas.
Exemplos
Algumas funes apresentam mltiplas sadas opcionais. Nesse caso necessrio usar uma matriz de
tamanho adequado do lado esquerdo da igualdade.
x = rand(1,10)
[maxValue, maxIndice] = max(x)
Exerccio 2
Exemplo prtico 2
A equao de Manning pode ser usada para calcular a velocidade de gua em um canal aberto
retangular:
Armazene esses valores em uma matriz e escreva um comando no MATLAB para calcular um vetor
coluna que contenha as velocidades respectivas para cada canal.