FIC MATLAB 2019-1/Aula-8

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
% Variáveis lógicas
x = true
format compact
y = false
A = [true true false; false true false]
% Comando logical
logical(0)
logical(1)
logical([1 0 0 1 1 0 1])
logical([0 1 20 60 -7 -128])
v1 = randi(10,1 8)
v1 = randi(10,1,8)
logical(v1)
% Endereçamento lógico
size(v1)
i = [false false true false true true false true]
v1
v1(i)
v1([0 0 1 0 1 1 0 1])
v1(logical([0 0 1 0 1 1 0 1]))
v1(logical([0 0 1 0 1]))
v1(logical([0 0 1; 0 1 1]))
v1
logical([0 0 1; 0 1 1])
logical([0 1 0; 0 1 1])
v1(logical([0 1 0; 0 1 1]))
v1(logical([0 0 1 1 0 1]))
B = randi([-10 10],3,5)
i
B(i)
B = randi([-10 10],3,5)
rng('shuffle')
B = randi([-10 10],3,5)
% Operadores relacionais
3 < 6
7 < 2
6 < 6
6 <= 6
9 >= 6
9 == 3
9 ~= 3
% Vetores e matrizes
v1
v1 < 5
v2 = randi(10,1,8)
v1 < v2
v1
v2
v1 < v2
v3 = randi(10,1,9)
v1
v3
v1 < v3
B < 5
B
v5 = randi(10,1,5)
B < v5
v1
v1 < 5
v1(v1 < 5)
v1(v1 ~= 10)
v1(v1 ~= NaN)
v1(v1 ~= Inf)
v1(v1 ~= 0)
t = -10:0.1:10;
v1 < 5
ans =
u = t >= 0;
t = -10:0.1:10;
u = t >= 0;
plot(t,u)
axis([-10 10 -1.1 1.1])
axis([-10 10 -0.1 1.1])
hold on
u2 = (t - 3) >= 0;
plot(t,u2)
figure
plot(t,u - u2)
axis([-10 10 -0.1 1.1])
s = sin(2*t);
figure
plot(t,s)
figure
plot(t,(u - u2) .* s)
axis([-10 10 -0.1 1.1])
axis([-10 10 -1.1 1.1])
% Operadores lógicos
v1
1 < v1' < 5
1 < v1 < 5
v1
1 < v1 < 5
1 < v1
(1 < v1) < 5
v1
(v1 > 1) & (v1 < 5)
(v1 < 3) & (v1 > 5)
(v1 < 3)
(v1 < 3) & (v1 > 5)
v1
(v1 < 3) | (v1 > 5)
v1
v1 < 6
~(v1 < 6)
v1
v2
xor(v1,v2)
(v1 < 3)
(v1 > 5)
v1
v1 > 2
v1 < 9
xor(v1 > 2, v1 < 9)
% Comparação de vetores e matrizes
v1
v2 = [9 10 2 10 7 1 3 6]
v1 == v2
v3 = [9 10 2 10 7 1 3 666]
v1
v3
v1 == v3
v1
v2
isequal(v1,v2)
v1
v3
isequal(v1,v3)
% Todos e quaisquer
v1
v3
all(v1 == v3)
v1 == v3
isequal(v1,v3)
v1 ~= v3
v1
v3
v1 ~= v3
any(v1 ~= v3)
all(v1 ~= v3)
% String - Texto
txt1 = 'Lasanha de bolonhesa'
txt2 = 'Lasanha de calabresa'
txt1 == txt2
all(txt1 == txt2)
txt2 = 'lasanha de calabresa'
txt1
txt2
txt2 = 'Lasanha de calabresa'
txt3 = 'lasanha de calabresa'
txt1
txt2
txt3
all(txt2 == txt3)
strcmp(txt1,txt2)
strcmpi(txt2,txt3)
txt2
txt3
strcmp('oi','ola')
all('oi' == 'ola')
~strcmp('oi','ola')
% Busca
v1
find(v1)
v6 = [false true false false true]
find(v6)
v6
v1
find(v1 >= 7)
v1
~3
logical(3)
~logical(3)
find(v1 >= 7)
~find(v1 >= 7)
find(~(v1 >= 7))
v6
find(v6)
~find(v6)
find(~v6)
find(v1 >= 7)
find(~(v1 >= 7))
find(v1 < 7)
v1
v1 < 7
v1(v1 < 7) = Inf
j = find(v1 == Inf)
v1(j) = [1 2 3 4]
B
find(B > 0)
k = find(B > 0);
B(k) = -999
find(B == -999)
[a,b] = find(B == -999)
[a'; b']
B
B(a,b) = NaN