Академический Документы
Профессиональный Документы
Культура Документы
Leandro Gazoni
Fernanda Raupp
O que é o MATLAB ?
Variáveis
>>B = [ 1; 2; 3; 4; 5 ] ou
>>B = A’
B= Vetor Coluna
1
2
3
4
5
Exemplos de declarações
de variáveis
>> A = [ 1 2 3; 4 5 6; 7 8 9 ] Matriz
A=
1 2 3
4 5 6
7 8 9
Símbolo Operação
+ Adição
- Subtração
* Multiplicação
/ Divisão: a/b=a*b^(-1)
^ Potenciação
‘ Matriz transposta
Exemplos com
operadores matemáticos
>> A = [ 1 2; 3 4 ];
⎡1 2 ⎤ ⎡5 6⎤
>> B = [ 5 6; 7 8 ];
A=⎢ ⎥ B=⎢ ⎥
⎣3 4 ⎦ ⎣7 8 ⎦
Símbolo Operação
.* multiplicação
./ divisão
.^ potenciação
Exemplos de operadores
matemáticos ponto-a-ponto
>>A = [ 1 2 ; 3 4 ]; ⎡1 2 ⎤ ⎡5 6⎤
>>B = [ 5 6 ; 7 8 ]; A=⎢ ⎥ B=⎢ ⎥
⎣ 3 4 ⎦ ⎣ 7 8 ⎦
>> C = A.*B >> C = A./B
C= C=
5 12 0.2000 0.3333
21 32 0.4286 0.5000
ou
Exemplo:
>> A = 1 : 9
A=
1 2 3 4 5 6 7 8 9
Característica na
declaração de uma variável
Exemplos:
>> v = [ 2 : 2 : 10]
v=
2 4 6 8 10
A = [1 3 5 7 9 11 13 15 17 ]
>> A (3)
ans =
5
>> A = [1 2 3; 4 5 6; 7 8 9];
>> a = [10 20 30]; A => matriz 3x3
>> A = [A;a]
A=
1 2 3
4 5 6
7 8 9
10 20 30
A => matriz 4x3
Manipulação de matrizes
⎡1 2 3⎤ Acessando os elementos na 2a
⎢4 5 6⎥ e 3a colunas da 2a linha de A
A=⎢ ⎥
⎢7 8 9⎥
⎢ ⎥ >> x = A ( 2, [ 2 3 ] )
⎣10 20 30 ⎦ ou
>> x = A ( 2, 2:3)
x=
5 6
Manipulação de matrizes
Acessando os elementos
da 2a e 3a linhas
⎡1 2 3⎤
⎢4 5 6⎥ >> x = A ([2 3] , [1 2 3 ])
A=⎢ ⎥ ou
⎢7 8 9⎥ >> x = A (2:3, 1:3)
⎢ ⎥ x=
⎣10 20 30 ⎦ 4 5 6
7 8 9
Manipulação de matrizes
Podemos acessar diretamente elementos da
diagonal de uma matriz;
» a = eye(2) » a = zeros(2)
a= a=
1 0 0 0
0 1 0 0
Operadores matemáticos
maior número de
realmax ponto flutuante
inf Infinito
menor número de
realmin ponto flutuante
computer tipo de computador
lista de variáveis
pi 3,141592653... who utilizadas
unidade
i Imaginária
version versão do MATLAB
Exercícios:
Armazene os valores das seguintes variáveis:
a = 3.132
b = -23.004
⎡5 34 87 ⎤
c = 5*pi B = ⎢⎢32 4.65 74 ⎥⎥
d = (3, 5.4, 7.43)t
e = (-2.234, 0, pi/2)t
⎢⎣ 0 13 −43 ⎥⎦
a) a + b + eps -19.8720
b) c – b * (a / b) ⎢-24.854 ⎥
12.5760
c) d–e [5.2340⎢ 05.4000⎥ 5.8592]
d) e’ + 2 * f ⎡0.⎢8108 0⎥.6696 − 0.5450⎤
⎡⎢− 1⎢.3.5708
0128 −⎥ 1.7442 − 0.7156⎥ ⎤
e) f*B ⎢⎢−00.⎣7396 0⎦.3906 0.7205 ⎥ ⎥
.0055 − 0.0203 0.0006 ⎥
f) A*B ⎢⎢0.7830 0.5840 − 0.5095⎥⎦
⎣
⎢⎣ 0.1288 0.1933 0.0825 ⎥⎦
Outras funções
Exemplo: p ( x) = x3 + 10 x 2 − 29
>> p = [1 10 -29];
Funções relacionadas a polinômios
avalia
polyval polyfit ajusta curva
polinômio
Exemplos com funções
de polinômios
p = x +10x − 2x − 29
3 2 >> roots(p)
ans =
>> p = [1 10 -2 -29] -9.9064
p= -1.7584
1 10 -2 -29 1.6648
>> polyder(p)
ans =
3 20 -2
Operadores relacionais
Símbolo Operador
== igual
~= diferente
> maior
< menor
Símbolo Operador
& e
| ou
~ não
xor ou exclusivo
Exemplos com operadores
lógicos e relacionais
>> 2 + 2 == 4 >> a = [1 2 3; 4 5 6]
ans = ans =
1
123
>> 10 > 100
456
ans =
0 >> a >= 4
>> A = [1 2; 3 4]; B = 2*ones(2); ans =
>> A==B 000
ans = 111
0 1
0 0
Exemplos com operadores
lógicos e relacionais
>> x = [ 1 0; 0 1]; y = [ 1 1; 0 0];
>> x & y
ans =
1 0
0 0
>> x | y
ans =
1 1
0 1
>> xor (x;y)
ans =
0 1
0 1
Programação em MATLAB
if expressão 1
instruções
elseif expressão 2
instruções
else
instruções
end
Controladores de fluxo
Exemplo com if
x=rand(1); y=rand(1);
Resposta:
if x < y temp =
temp = y 6
y = x y =
x = temp 3
x =
end
6
Controladores de fluxo
Resposta:
Exemplo com if :
Resposta:
ans =
temp 1=
x eh 0.7439
maior que y
x=rand(1); y=rand(1);
xy ==
if x < y 0.5744
0.8386
temp = y; yx ==
y = x; 0.7439
0.2584
x = temp;
else
disp('x eh maior que y')
x, y
end
Controladores de fluxo
for i = 1:5
x(i) = 2*i;
end
x
Resposta:
x =
2 4 6 8 10
Controladores de fluxo
n=2; a = eye(n);
for j = 2:n
for i = 1:j-1 % incremento=1
a(i,j) = i/j;
a(j,i) = i/j;
end
end
disp(a) Resposta:
1.0000 0.5000
0.5000 1.0000
Controladores de fluxo
i=0;
while ( sqrt(i) < 5 )
i = i+1;
end
sqrt(i)
Resposta:
i =
1 2 3 4
Funções auxiliares no
controle de fluxo
1
1 2 3 4 5 6 7 8 9 10
Características dos Gráficos
» plot(x,y,‘ r : ’)
20
x y = x² 15
0 0
1 1 10
2 4
5
3 9
4 16 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
5 25
Gráficos 3D
plot3 curvas 3D
surf,surfc,surfl superfícies 3D
Exemplo de um gráfico 3D
>> x = 0:pi/50:10*pi;
>> plot3(sin(x),cos(x),x)
35
30
25
20
15
10
0
1
0.5 1
0.5
0
0
-0.5
-0.5
-1 -1
Gráficos no MATLAB
> t = 0:pi/50:10*pi;
> plot3(sin(t),cos(t), t);
> [X,Y] =meshgrid (-8:0.5:8,-8:0.5:8);
> r =sqrt(X.^2+Y.^2)+eps;
> Z = sin(r)./r;
> subplot(221)
> mesh(X,Y,Z);
> subplot(222)
> surf(X,Y,Z);
> subplot(223)
> meshc(X,Y,Z)
> subplot(224)
> contour(X,Y,Z)
Animação de gráficos
surf(peaks)
axis vis3d
for i=1:36
camorbit(10,0,'camera')
drawnow
end
Animação de gráficos
surf(peaks)
axis vis3d
for i=1:36
camorbit(10,2,'data',[0 1 0])
drawnow
end
Animação de gráficos
surf(peaks)
axis vis3d off
for x = -200:5:200
campos([x,5,10])
drawnow
end
Animação de gráficos
surf(peaks);
axis vis3d
xp = linspace(-150,40,50);
xt = linspace(25,50,50);
for i=1:50
campos([xp(i),25,5]);
camtarget([xt(i),30,0])
drawnow
end
Help MATLAB on-line
http://www.mathworks.com/access/helpdesk/help/tec
hdoc/ref/ref.shtml
http://www.mathworks.com/access/helpdesk/help/tec
hdoc/matlab.shtml