Sie sind auf Seite 1von 6

MATLAB

Caractersticas
MATtrix LABoratory
IDE (Integrated development environment)
Linguagem de alto nvel
Vantagens

Otimizado para trabalhar com matrizes


Rpida implementao
Cdigo conciso
Excelente documentao e base de usurios
Visualizao de dados

Desvantagens

Alto custo monetrio


Linguagem semi-interpretada
Uso intensivo de memria
Linguagem mal projetada

Workspace
O workspace pode ser salvo para ser utilizado em sees futuras
save myWorkspace.mat

deletado
clear

e recuperado
load myWorkspace.mat

a varivel ans guarda o resultado da ltima opreo

Miscelnea
O comando clc limpa a command window
clc

ao colocar um ponot 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
%open

para parar a execuo de algum comando aperte CTRL + C


A funo exist verifica a existencia de funes, arquivos, pastas e variveis
exist('sum')

Obtendo Ajuda
O sistema de ajuda do MATLAB bastante completo. Caso voc queria saber a utilidade de uma
funo simplesmente digite help 'nome da funo' ou aperte F1 sobre a funo.
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 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"
format long %formato padro, 4 casas depois da virgula
format short %15 casas depois da vrgula

note que esses comandos no mudam os nmeros em si, apenas como o MATLAB nos mostra o seu
valor.

Criao de Matrizes
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(;)
matrix = [1 2 3; 4,5 6; 7,8,10]

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
colonVector = 1:5:150

Outro meio de criar matrizes atravs da utilizao de funes prprias como zeros,ones,rand e
magic
zeroMatrix = zeros(3) %matriz de zeros
oneMatrix = ones(3,1) %matriz de uns
randomMatrix = rand(1,3,2) %matriz aleatria
intRandomMatrix = randi(10,3,2) %matriz de interiros aleatrias
magicSquare = magic(3) %quadrado mgico

Operao com matrizes


Os operadores matemticos bsicos no MATLAB atuam sobre toda a matriz a quais so empregados.
a = [1 2 3 4] %example vector
b = [2 4 6 8] %another example vector
a + 10 %soma
a - 10 %subtrao
a' %transposio
a * a' %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
a.^3
a./b
a.\b

%multiplicao
%potncia
%diviso
%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

Simirlamente o operador barra invertida resolve sistemas da forma

x = A'\B'

Concatenao
Concatenao o processo de jutnar matrizes em uma matriz maior. Na verdade ja usamos
concatenao quando criamos nossa primeira matriz, ao juntar nmeros que nada mais so matrizes
de tamanho 1x1. Assim o operadir 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
matrix = magic(4)
matrix(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
matrix(8)

Se quisermos selecionar vrias linhas e colunas simultaneamente, utilizamos vetores como elemento
de indexao.
matrix([1 2 3],4)
matrix(1:3,4)

Quando no colocamos argumentos junto dos dois pontos selecionamos todos os elementos daquela
dimenso
matrix(:,1) %todas as linhas da primeira coluna
matrix(1,:) %todas as colunas da primeira linha

Colocando apenas os dois pontos selecionamos todos os elementos mas desconsideramos sua
configurao matricial
matrix(:) %todos os elementos de M em um vetor coluna

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.
7 - Criem uma varivel "concatenate" contendo as variveis "firstLineSecondColumn",
"lastLineFirstColumn" e "oddIndices".
8 - Criem uma varivel "sumScalar" que a soma das variveis "firstLineSecondColumn" e
"lastLineFirstColumn".
9 - Descubra qual o valor da soma dos elementos da primeira linha de M multiplicados pelos
elementos da segunda coluna de M.
10 - Criem uma varivel "matrizPower" que seja M elevado a raiz de 5.
11 - Crie uma varivel chamada equalSpaced contendo 11 elementos igualmente espaados entre 1 e
51 (dica: verifique a funo linspace).
12 - Crie outra varivel chamada de dividedByThree que contenham todos os elementos de
equalSpaced + 10 que sejam divisiveis por 3

Funes matemticas
O Matlab apresenta uma srie de funes matemticas bsicas.
%aritimtica bsica
x= [1 2 3 4 5.5 1.2 -3.1]
sum(x); %soma dos elemetos do vetor
cumsum(x); %soma comulativa
prod(x); %produto dos elementos do vetor
cumprod(x); %produto comulativo
ceil(x); %arredondamento na direo de +inf
fix(x); %arredondamento na direo de zero.
floor(x); %arredondamento na direo de -inf
round(x); %arredondamento para o inteiro mais prximo
mod(x,1); %operao mdulo
max(x); %valor mximo
min(x); %valor mnimo do vetor
mean(x); %mdia do vetor
% Trigonomtricas
x = 0.3;
sin(x); %seno

cos(x); %cosseno
tan(x); %tangente
acos(x); %arco tangente
asin(x); %arco seno
atan(x); %arco tangente
%expoentes e logaritimos
exp(x); %expoente na base "e"
log(x); %logaritimo neperiano
sqrt(x); %raiz quadrada
%nmeros imaginrios
x = 3 + 2i;
i %unidade imaginria
abs(x); %magnitute
angle(x); %ngulo de fase
conj(x); %conjugado
real(x); %parte real
imag(x); %parte imaginaria

Exemplos
% grfico da funo seno
xAxis = 0:0.01:pi;
yAxis = sin(xAxis);
plot(xAxis,yAxis)

% soma aritimtica
aritimeticSum = sum(1:100);
culmulativeAritimeticSum = sum(1:100);

% mdias (observe que a medida que a quantidade de amostras aumenta


% a mdia das amostras se aproxima da mdia da distribuio
randomMean(1) = mean(randn(1,10^0));
randomMean(2) = mean(randn(1,10^1));
randomMean(3) = mean(randn(1,10^2));
randomMean(4) = mean(randn(1,10^3));
randomMean(5) = mean(randn(1,10^4));
randomMean(6) = mean(randn(1,10^5));
plot(1:6,randomMean)
%a funo randn cria nmeros aleatrios normalmente distribuidos
%com mdia igual a zero e desvio padro de 1

Exerccio 2
1 - Excreva em poucas linhas um scipt que calcule a soma geomtrica

2 - Faa um grfico da funo

3 - Avalie as seguintes exprees

para

com espaamentos de pontos

Das könnte Ihnen auch gefallen