Beruflich Dokumente
Kultur Dokumente
AULA 3
reinelbeltran71@gmail.com
Numeric
Uint8
(8 bit unsigned integer,
from 0 to 255,
e.g., image gray scales)
Structure
image.width = 64
image.name = aula3
Double
e.g., 3.2567
(8 bytes)
Cell
Doubles e Uint8
a = 1:5
a=
1 2
Double
A maioria das funes o
argumento de entrada
double
return double
Necessidade de converter
uint8 para double antes de
realizar operao matemtica
b = uint8(a)
b=
1 2 3
whos
Name
a
b
Size
1x8
1x8
Bytes Class
40 double array
5 uint8 array
b*a'
Error using *
MTIMES is not fully supported for integer classes. At
least one input must be scalar.
To compute elementwise TIMES, use TIMES (.*)
instead.
double(b)*a
ans =
55
Bytes Class
10
char
Attributes
Size
1x5
1x11
Bytes Class
10 char
22 char
Attributes
aula =
nome: 'Joo'
idade: 23
disciplina: 'Matlab'
entidade: 'FUCAPI'
ano: 2016
>> whos
Name
Size
Attributes
aula
1x1
Bytes Class
928 struct
Arrays de Estruturas
>> aula(1)=aula;
>> aula(2).nome='Pedro;
>> aula(1)
>> aula(2).ano=2016;
ans =
>> aula(2).entidade='FUCAPI';
nome: 'Joo'
idade: 23
disciplina: 'Matlab'
entidade: 'FUCAPI'
ano: 2016
>> aula(2).disciplina='Matlab';
>> aula(2).idade=20;
>> whos
Name
Size
Bytes Class
aula
1x2
1538 struct
Attributes
>> aula(2)
ans =
nome: 'Pedro'
idade: 20
disciplina: 'Matlab'
entidade: 'FUCAPI'
ano: 2016
Fluxo de controle
Estruturas if-else-end
for ndice = comea:incremento:para
declaraes
end
>> for a=1:10
a<=3; C(a)=a^2;
a=3:7; C(a)=a+5;
a=7:10; C(a)=a;
end
>> stem(C)
Plot a sequncia
discreta de C
Estruturas if-else-end
Matlab tem quatro tipos de afirmaes if,
elseif, else,end
Elas fazem o controle de fluxo baseadas
no teste lgico.
Em sua forma bsica:
If teste
declaraes
end
function retorno=posneg(ent)
if all(ent>0)
retorno=1;
elseif all (ent<0)
retorno=-1;
else
retorno=0;
end
All: True if all elements of a
vector are nonzero.
M-file switchx.m
switch x
case 1
disp('x is 1');
case {2,3,4}
disp('x is 2, 3 or 4');
case 5
disp('x is 5');
otherwise
disp('x is not 1, 2, 3, 4 or 5');
end
>> x=5;
Pressione o boto run:
>> x is 5
While
while teste
declarao
end
n = 1;
while sum(1:n)<=1000
n = n+1;
end
Grficos
Plotagem de Grficos
axis ajusta a escala do grfico s coordenadas dos pontos plotados.
Sintaxe: axis([xmin xmax ymin ymax])
>> x1=-1; y1=-1; x2=1; y2=-1; x3=-1; y3=1; x4=1; y4=1;
>> plot(x1,y1,'o',x2,y2,'o',x3,y3,'o',x4,y4,'o')
>> axis([-2 2 -2 2])
>> axis square %forma quadrada >> axis normal ou
>> x=[-1 1 -1 1] ; y=[-1; -1; 1; 1] ; plot(x,y,'.r');axis([-2 2 -2 2])
2
1.5
1.5
0.5
0.5
-0.5
-0.5
-1
-1
-1.5
-2
-2
-1.5
-1
-2
-2
-1
Plotagem
de Grficos
Comando subplot
>> t = 0:.1:2*pi;
subplot(2,2,1)
plot(cos(t),sin(t))
subplot(2,2,2)
plot(cos(t),sin(2*t))
subplot(2,2,3)
plot(cos(t),sin(3*t))
subplot(2,2,4)
plot(cos(t),sin(4*t))
subplot 221
plot(1:10)
subplot 222
plot(0,*)
subplot 212
plot([1 0 1 0])
Propriedades de Grficos
Colocar rtulos em grficos: xlabel, ylabel, title
>> xlabel(eixo x'); ylabel(eixo y'); title(pontos no plano')
Inserir texto em ponto de sua escolha no grfico
>> gtext('P1'); gtext('P2'); gtext('P3'); gtext('P4')
help plot : Especificaes das caractersticas
do grfico
>> t = 0:.1:2*pi;
>> plot(t,sin(t),t,sin(1.05*t))
>> gtext('frequency = 1');
>> gtext('frequency = 1.05');axis([0 max(t) -1 1])
Propriedades de Grficos
>> t = 0:.1:2*pi; plot(t,sin(t),t,sin(1.05*t))
>> gtext('frequency = 1');
>> gtext('frequency = 1.05');
>> axis([0 max(t) -1 1])
>> dt = 2*pi/10;
t = dt:dt:10*dt;
x = cos(t);
y = sin(t);
plot(x,y)
axis equal off
for i = 1:10
text(x(i),y(i),int2str(i))
end
Comando plot3
Grfico tridimensional
>> x1=3; y1=4; z1=5;
>> plot3(x1,y1,z1,'*')
>> th=[0:.01:2]*2*pi;
x=cos(th);
y=sin(th);
z=th;
plot3(x,y,z)
Grficos tridimensionais
Grficos tridimensionais
Coordenadas polares
>> th=0:2*pi/100:2*pi;
rho=3*th;
polar(th,rho)
Plotagem de Grficos
Buscar:
fplot
figure
hold
text
Exerccios de Fixao
% TRABALHANDO COM NMEROS COMPLEXOS
a = [1 2;3 4] + i*[5 6;7 8]
realz = real(z)
imagz = imag(z)
modz = abs(z)
fasez = angle (z)
% MULTIPLICAO DE POLINMIOS
% x3 = (x^2 + 3x + 2).(x^2 - 2x + 1)
x3 = conv([1 3 2],[1 -2 1]) % Como ele faz isto?
% RECURSOS GRFICOS
y = [0 2 5 4 1 0];
plot(y)
help pi
t = 0:.4:4*pi
y = sin(t)
z = cos(t);
plot(t, y, ., t, z "-.")
title(Funes)
xlabel("t")
ylabel("Seno e Cosseno")
text(3, 0.5, Seno)
% Aps o prximo comando, selecione a posio que deseja colocar
% o texto Cosseno com o mouse
gtext(Cosseno)
Exerccios
1 2 3
A 0 1 2
3 1 1
3 1 0
B 0 1 1
3 7 0
a) A+B
b) A*B
c) A.*B
d) A.^2
e) A^2
f) A*A
g) inv(A)
h) inv(A)*A
i) A\A
j) A/A
k) A/A eye(3)
l) A*inv(A) eye(3)
0
0
A
0
0
0 0 0
0 0 0
0 0 0
0 0 0
1 1 1
B 1 1 1
1 1 1
1
C
1
1 0
D
0
1
b) D*A
c) D*A
e) A*B*D
f) A*D
g) D(:,1:3)*A
h) D(1:3,:)*A
d) A*D*B
a) superiores a 10
b) entre 8 e 12;
c) entre 6 e 14;
d) entre 6 e 14;
e) superiores a 15.
5- Represente graficamente a funo de densidade de probabilidade
da distribuio normal reduzida, no intervalo de -3 a 3.
f ( x)
x2
1 2
e
6 A partir de um conjunto de 100 valores aleatrios com mdia 500 e desvio padro
100, representando uma srie de valores anuais de precipitao entre 1900 e
1999, elabore um programa que:
a) Represente graficamente esta srie temporal (Figura 1).
b) Conte o nmero de ocorrncias em que a precipitao excedeu o valor mdio
mais duas vezes o desvio padro (valores considerados anmalos).
c) Represente no grfico, atravs de crculos pretos, os valores anteriores.
d) Utilizando a funo hist, construa um histograma, com 20 classes, que
represente a distribuio da precipitao (Figura 2).
14
750
700
12
650
10
Precipitao
600
550
500
6
450
400
350
2
300
250
1900
1920
1940
1960
1980
2000
0
250
300
350
400
450
Ano
Figura 1
Figura 2
500
550
600
650
700
7 Plotar a funo seno entre pi e pi. Colocar ttulo, e as etiquetas nos eixos.
8 Crie o vetor x=[0 36 72 108 144 180 216 252 288 324] atravs do comando for.
9 Plotar 360 pontos de um perodo da funo y=sen(2*pi*x/360), usando o for.
FIM