Jak sprawdzić, czy jakakolwiek zmienna w jednej tablicy znajduje się w innej
Opracowuję program z MatLabem, który oblicza moc liczb, dodaje je razem, a następnie widzi, czy którykolwiek z pierwszych zestawów liczb (liczb do mocy) jest równy dowolnej z dodanych liczb do mocy. Próbuję to sprawdzić dla każdej wartości w pierwszej tablicy, jednak otrzymuję dane wyjściowe w następujący sposób:
m =
1
128
2187
16384
78125
279936
823543
2097152
4782969
10000000
dla każdegom
wartość, która jest wynikiem prostegofor
pętla tablicy. Więc kiedy idę sprawdzić, czym
jest w tablicy, sprawdza to[1, 128,2187,16384,78125...]
w tablicy, a odpowiedź brzmi nie. W jaki sposób mogę uzyskać ocenę każdego pojedynczego wpisu, tak jak poniżej:
Array n is [1,128,2187,16384]
for m = n
m = 1
Is m in array? No
m = 128
Is m in array? No
m = 2187
Is m in array? Yes
m = 16384
Is m in array? No
end
Mój kod jest poniżej:
C = [];
D = [];
E = [];
F = [];
numbers1 = [];
numbers2 = [];
numbers = 10;
powers = 10;
for i = 1:numbers
for j = 3:powers
C = [C;i^j];
end
C = transpose(C);
D = [D;C];
C = [];
end
[~,b] = unique(D(:,1)); % indices to unique values in first column of D
D(b,:); % values at these rows
for i = D
for a = D
E = [E;i+a];
end
E = transpose(E);
F = [F;E];
E = [];
end
[~,b] = unique(F(:,1)); % indices to unique values in first column of F
F(b,:); % values at these rows
for m = D % this is the for loop mentioned above
m
end