Você está na página 1de 59

MATLAB

Instrutor : Rodrigo Guedes


e-mail: rodgpp@gmail.com
AULA 1

Instrutor : Rodrigo Guedes


e-mail: rodgpp@gmail.com
MATLAB

Comandos Básicos
Comandos Básicos
• Desenvolvido inicialmente na década de
70 nas Universidades do Novo México e
Stanford.
• Destinado a princípio a cursos de teoria
matricial, álgebra linear e análise
numérica.
• Voltado basicamente para matemática
numérica.
• Possui várias ferramentas para
aplicação em diversas áreas do
conhecimento.
Comandos Básicos
• originalmente escrito para trabalhar com
matrizes e vetores.
• evoluiu ao longo do anos até se tornar uma
ferramenta de ampla abrangência.
• o MatLab é uma poderosa ferramenta
matemática e uma linguagem de
programação de alto-desempenho para a
computação científica
• integra cálculos matemáticos, visualização e
programação em um ambiente interativo
Comandos Básicos
Pascal MatLab
var >> a = [1 2 3; 4 5 6; 7 8 9]
a, b : array [1..3, 1..3] of a=
integer; 123
i, j : integer; 456
begin 789
... >> b = a’
for i = 1 to 3 b=
for j = 1 to 3 147
b(j,i) := a(i,j); 258
end; 369
end;
end.
Comandos Básicos
• O elemento de dados básico é uma matriz

• Matrizes e vetores são manipulados com


mais facilidade e rapidez que em programas
escritos em linguagens não-interativas como
Pascal, C ou Fortran
Comandos Básicos
• O elemento de dados básico é uma matriz

• Matrizes e vetores são manipulados com


mais facilidade e rapidez que em programas
escritos em linguagens não-interativas como
Pascal, C ou Fortran
Prompt de Comando

• Ao iniciarmos o MATLAB a tela abaixo


aparece em conjunto com o símbolo >>
indicando que o software está pronto para
receber comandos:
To get started, select "MATLAB Help" from the
Help menu.

>>
Introdução
• Linha de comandos – é possível usar o
matlab através de comandos emitidos a
partir de linha de comandos
• scripts – arquivos que contém
comandos
matlab
Introdução
• toolboxes - bibliotecas de funções que
permitem a resolução de classes
particulares de problemas
• simulink - acessório que acrescenta
uma
interface de diagramas de blocos e recursos
de simulação real aos demais recursos
numéricos, gráficos e de linguagem
Introdução
• matemática e computação
• desenvolvimento de algoritmos
• modelagem, simulação e prototipação
• análise de dados, exploração e
visualização
• gráficos científicos em duas e três
dimensões
Help
• On line
• Linha de comandos -
– help
– help elfun
– help abs
• demos -
– demo
Operações Básicas
• Adição +
• Subtração –
• Multiplicação *
• Divisão / ou \
• Potenciação ^
Cálculo de Expressões
Numéricas
• Ao digitarmos a expressão abaixo seguida
da tecla <enter>:
>> 12/2+3*(2^4)
• Teremos a resposta:
ans =
54
Cálculo de Expressões
Numéricas
>> 4 + 6 – 2 >> 25 / 5 + 5 \ 25
ans = ans =
8 10

>> 4 * 2 + 6 * 5 + 2 * >> 3 ^ 2 * 2 ^ 2 + 2
9 ans =
ans = 38
56
Cálculo de Expressões
Numéricas
Parênteses
• Potência
– 3 * 2 ^ 3 = 24
•*e/
– Resolvendo da esquerda para direita
–8/4*3=6
•+e-
– Resolvendo da esquerda para direita
Cálculo de Expressões
Numéricas
• Inteiros: 32, -12345
• Reais: 3.1789, -23.0, 1.0e-3
• Complexos: 3.2 – 23.5i
• Inf: Infinito (resultado da divisão por 0)
• NaN: Not a number 0/0
• Contas são feitas com 15 dígitos
aproximadamente
• Comando format controla impressão dos
resultados.
Definição de Variáveis
>> a = 10
a=
10
>> b = 20;
O ‘;’ evita que o resultado apareça na
tela.
>> c = 1 + 2i ou c = 1 + 2j
c=
1.0000 – 2.0000i
Definição de Variáveis
>> a = 10
a=
10
>> b = 20;
O ‘;’ evita que o resultado apareça na
tela.
>> c = 1 + 2i ou c = 1 + 2j
c=
1.0000 – 2.0000i
Variáveis
• Podemos armazenar valores em variáveis
no MATLAB.
• Variáveis devem ter um nome único,
começando com uma letra e podem
conter dígitos ou o símbolo _ (underline).
• O MATLAB distingüe letras maísculas de
minúsculas.
Exemplos de variáveis

>> distancia = 100


distancia =
100
>> tempo = 3
tempo =
3
>> velocidade_media = distancia / tempo
velocidade_media =
33.3333
Variáveis
• Note que ao digitarmos o nome da
variável, o símbolo = e o seu valor o
matlab armazena a variável e a apresenta
na tela.
• Para suprimir a exibição da variável
adicionamos um ponto-e-vírgula ao final
do comando.
• Quando criamos uma expressão e não a
armazenamos em uma variável o matlab a
salva automaticamente na variável ans.
Variáveis
• O comando who mostra todas as variáveis
armazenadas durante uma sessão do MATLAB.
>> who

Your variables are:

ans tempo
distancia velocidade_media
Variáveis
• O comando clear “apaga” uma ou mais
variáveis.
>> clear tempo
Apaga somente a variável tempo.
>> clear velocidade_media distancia
Apaga as variáveis velocidade_média e
distancia.
>> clear
Apaga TODAS as variáveis da sessão.
Variáveis Pré-definidas
ans: váriavel padrão usada para resultados
de expressões do tipo
– >> 3 + 5
• pi
• i ou j: igual a raiz quadrada de -1
• realmax: maior número real utilizável
– 1.797693134862316e+308
• realmin: menor número real utilizável
– 2.225073858507201e-308
Variáveis Pré-definidas

• nargin: número de argumentos de


entrada
• nargout: número de argumentos de saída
Variáveis Pré-definidas

• nargin: número de argumentos de


entrada
• nargout: número de argumentos de saída
Salvando Sessões
• Para salvar uma sessão do MATLAB, vá
no menu File e escolha a opção Save
Workspace As. Escolha uma pasta e um
nome para o arquivo e clique em salvar.
• Para abrir uma sessão salva
anteriormente escolha novamente o menu
File e vá na opção Open. Escolha a pasta
onde se encontra o arquivo, selecione o
arquivo e clique em Abrir.
Recuperando Comandos
• Para evitar redigitação, o Matlab
armazena todos os comandos do
usuário durante uma sessão.
• Para acessar os comandos anteriores
basta pressionar a tecla  (seta para
cima) seguidas vezes até encontrar o
comando desejado.
• O comando então pode ser editado e
executado novamente,
Variáveis Especiais
• ans Nome de variável padrão usado para
resultados.
• pi 3.1416
• eps Menor número que somado a 1, cria
um número maior do que 1.
• inf Infinito.
• NaN Não número.
• iej
• realmin menor 1 número real positivo
• realmax maior número real positivo
Algumas Funções Matemáticas
Elementares
• abs(x) Valor absoluto
• acos(x) Arco cosseno
• asin(x) Arco seno
• atan(x) Arco tangente
• cos(x) Cosseno
• exp(x) Exponencial (ex)
• log(x) Logaritmo natural (base e)
• log10(x) Logaritmo na base 10
• sin(x) Seno
• sqrt(x) Raiz quadrada
• tan(x) Tangente
Algumas Funções Matemáticas
Elementares
• gcd(x,y) mdc de x e y
• lcm(x,y) mmc entre x e y
• max(x) máximo de x
• min(x) mínimo de x
• inv(x) matriz inversa de x
Espaço de Trabalho
>> who lista variáveis na memória
>> whos lista variáveis detalhadamente
>> clear apaga variáveis da memória
>> save salva variáveis em arq .mat
>> load carrega variáveis de um .mat
>> format formato de apresentação dos
resultados
Comandos do SO
>> dir ou ls arquivos do diretório
>> cd ou pwd diretório corrente
>> cd . . diretório acima do corrente
>> cd \ diretório raiz
>> delete <arquivo> apaga arquivo
>> edit <arquivo> abre arquivo para edição
>> type <arquivo> mostra o conteúdo do
arquivo
>> quit ou exit sai do ambiente
Vetores
>> x = [ 1 3 5 ];
>> lenght(x)
ans =
3
>> y = [ 3 4 5 ];
>> x + y
ans =
4 7 10
>> z = 3 * y
ans =
9 12 15
Vetores
• >> x = [ 1 3 5 ];
• >> lenght(x)
• ans =
• 3
• >> y = [ 3 4 5 ];
• >> x + y
• ans =
• 4 7 10
• >> z = 3 * y
• ans =
• 9 12 15
Comandos do SO
• Vetores
• >> x = [ 1 3 5 ];
• >> v1 = [ 3 4 5 6];
• >> x + v1
• ??? Error using ==> plus
• Matrix dimensions must agree.
Gerando vetores
• >> x = [0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1] .* pi
• ou
• >> x = (0:0.1:1).* pi
• ou
• >> x = linspace(0,pi,11)
• >> y = sin(x)
Gerando vetores
a : b : c gera vetor começando em a,
incrementando por b, até chegar em c. Não
gera além de c.
>> 0:0.1:1
ans =
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
0.9 1.0
• a : b gera vetor começando em a até chegar
em b incrementando por 1
Gerando vetores
x = (0:0.1:1)*pi
x = 0 0.3142 0.6283 0.9425 1.2566 1.5708
1.8850 2.1991 2.5133 2.8274 3.1416
• x(6) = 1.5708
• x(1:5) = 0 0.3142 0.6283 0.9425 1.2566
• x(7:end) = 1.8850 2.1991 2.5133 2.8274
3.1416
• x(3:-1:1) = 0.6283 0.3142 0
• x(2:2:7) = 0.3142 0.9425 1.5708
Gerando vetores
x = 0 0.3142 0.6283 0.9425 1.2566
1.5708 1.8850 2.1991 2.5133 2.8274
3.1416
• x([8 2 9 1]) = 2.1991 0.3142 2.5133 0
• z = x[(2:5) 4 5 7] = 0.3142 0.6283 0.9425
1.2566 4.0000 5.0000 7.0000
• w = [ x y ] %vetor linha
• k = [ x; y ] % matriz com duas linhas
Manipulando vetores, matrizes
• A = [1 2 3; 4 5 6; 7 8 9];
• A(3,3) = 9
• A(2, 2:3) = 5 6
• A(3,:) = 7 8 9 % : todas as colunas
Manipulando vetores, matrizes
• B = A(3:-1:1, : )
• B = [7 8 9; 4 5 6; 1 2 3]
• C = [A B( : , [1 3])]
– C = [1 2 3 7 9; 4 5 6 4 6; 7 8 9 1 3]
• B(:,2) = [ ]
– B = [7 9; 4 6; 1 3]
• B = A(:,[2 2 2 2])
– B = [2 2 2 2; 5 5 5 5; 8 8 8]
Operações Especiais
>>eye(linhas,colunas)
Cria matriz identidade
>> det(m)
Determinante de m
>> zeros(n1,n2,n3,...)
Matriz de zeros
>> inv(m)
Inversa de m
>> ones(n1,n2,...)
Matriz de uns
>> m’
Transposta de m
>> rand (n1,n2,...)
Matriz de rand entre 0 e
1.0
Operações Especiais
matriz(10) ou matriz(2,3)

1 5 9 13

2 6 10 14

3 7 11 15

4 8 12 16
Busca de Sub-Matrizes
>> x = -3:3
x=
-3 -2 -1 0 1 2 3
>> k = find(abs(x) > 1)
k=
1267
>> y = x(k)
-3 -2 2 3
>> A= [1 2 3; 4 5 6; 7 8 9]
A=123
456
789
>> [ i , j ] = find(A > 5)
i=3j=1
32
23
33
Dimensões de Vetores e
Matrizes
whos lista as variáveis e suas dimensões
s = size(A) retorna o número de linhas e
colunas de
A
[x,y] = size(A) x contém o núm de linhas e y o
de
colunas
x = size(A,1) retorna o número de linhas de A
y = size(A,2) retorna o número de colunas de A
n = length(A) retorna max(size(A))
Operações com Vetores e
Matrizes
• a = [a1 a2 ... an], b = [b1 b2 ... bn], c = <um
escalar>
• adição a escalar a + c = [a1 + c ... an + c]
• multiplicação por escalar a * c = [a1* c ... an*
c]
• soma de vetores a + b = [a1 + b1 ... an + bn]
• multiplicação de vetores a .* b = [a1 *b1 ... an
*bn]
Operações com Vetores e
Matrizes
a = [a1 a2 ... an], b = [b1 b2 ... bn], c = <um
escalar>
Divisão vetores (a/b) a ./ b = [a1 /b1 ... an /bn]
Divisão vetores (b/a) a .\ b = [a1\b1 ... an\bn]
Potenciação vetorial c.^a = [c^a1 ... c^an]
Operações com Vetores e
Matrizes
• x = [ 1 2 3 4], y = [ 1 1/2 1/3 1/4];
• • x .* y % dot product
• 1111
• • x * y' % scalar product
• 4
• • sqrt( x * x') %Comprimento vetor
• 5.4722
Mais exemplos: resolução de
sistemas de equações
• 2x1 - x2 = 1
• X1 - 2x2 + x3 = 0
• - x2 + 2x3 = 1
• Ax = b; x = A-1b; x = A \ b
Mais exemplos: resolução de
sistemas de equações
• A = [ 2 -1 0; 1 -2 1; 0 -1
2];
• b = [1; 0; 1]
• Em notação matricial Ax = b
• x = A-1b;
• X = inv(A) * b;
• x = A \ b;
EXERCÍCIO

• 1) Armazene no workspace os seguintes


valores:
a = 3.132;
b = -23.004;
c = 5*pi;
d = (3 5.4 7.43)
e = (-2.234 0 pi/2)
EXERCÍCIO
EXERCÍCIO
EXERCÍCIO
EXERCÍCIO - 2
EXERCÍCIO - 2

Você também pode gostar