/ / Jak zapętlić tablicę z dwiema próbkami w Matlabie? - tablice, matlab, for-loop

Jak Loop Array z dwoma próbkami w Matlab? - tablice, matlab, pętla for

Chciałbym pobrać dwie stałe z tablicy constants na raz, ponieważ nie chcę iść jeden po drugimte stałe, ponieważ jest to czasochłonne; Zamiast tego porównuję zmiany, które powodują, i reagują tylko wtedy, gdy istnieje duża zmiana między efektami dwóch stałych. Zapętlam jedną próbkę constant w tablicy constants na raz w Matlabie 2016a

constants=[45 90 180 360 720 1440 2880 5760]";
for constant=constants

...

end

Chciałbym jednak pobierać dwie stałe na raz przez jedną pętlę, na przykład pseudokod

for constant1,constant2=constants

...

end

Jak możesz pobrać dwie stałe? constants w jednym dla pętli Matlaba?

Odpowiedzi:

1 dla odpowiedzi № 1

Coś takiego?

for index = 1:length(constants) - 1
c1 = constants(index);
c2 = constants(index + 1);
end

Inną opcją jest zdefiniowanie funkcji, która sparuje każdy element z następnym elementem w tablicy -

function result = pairAdjacent(array)
result = [array(1:end-1) ; array(2:end)];
end

a następnie zrobić

for constant = pairAdjacent(constants)
c1 = constant(1);
c2 = constant(2);
end

Przypomnij sobie, że kiedy używasz notacji

for elem = array
// Now elem is a single column from array
end

zmienna elem jest przypisywany kolejno do każdego z kolumny z array, więc twoja tablica constants musi być tablicą 1xN, aby działało poprawnie.