Selecting Every Other Element in a Matrix

How can I select every other element in a matrix, such as A=[1 2 8 7 6 5 4 6]?

 採用された回答

Star Strider
Star Strider 2015 年 2 月 16 日

19 投票

I’m not certain what you want, so I’ll venture two possibilities:
A=[1 2 8 7 6 5 4 6];
Aodd = A(1:2:end); % Odd-Indexed Elements
Aeven = A(2:2:end); % Even-Indexed Elements

7 件のコメント

Dewey Phillips
Dewey Phillips 2017 年 1 月 26 日
this worked for me
Aditya Kansal
Aditya Kansal 2018 年 7 月 30 日
i want to do the same for a 2-D array, how can i achieve that?
Nitai Fingerhut
Nitai Fingerhut 2018 年 12 月 25 日
A=[1 2 8; 7 6 5; 4 6 9];
A= A(:);
Aodd = A(1:2:end); % Odd-Indexed Elements
Aeven = A(2:2:end); % Even-Indexed Elements
at the end use reshpae to make it 2D again
Stephen23
Stephen23 2018 年 12 月 25 日
編集済み: Stephen23 2018 年 12 月 25 日
"i want to do the same for a 2-D array, how can i achieve that?"
A(1:2:end,:) % odd rows
A(2:2:end,:) % even rows
A(:,1:2:end) % odd columns
A(:,2:2:end) % even columns
Very basic concepts, such as how to use indexing, are explained in the introductory tutorials:
Khyati Jain
Khyati Jain 2019 年 7 月 4 日
How do you do this if it is a complex vector?
Atas Jyoti Kaibarta
Atas Jyoti Kaibarta 2022 年 1 月 21 日
only for real number
Star Strider
Star Strider 2024 年 2 月 8 日
It should work the same way for complex vectors, however the problem with that is that it could select only one of a complex pair. One way to correct for that would be to use the conj function to complete the pair after selecting them, then use the cplxpair function.
You would need to decide whether you wanted to select from complex vectors to begin with. The problems that could cause might not be worth the efffort.

サインインしてコメントする。

その他の回答 (1 件)

prashanth GT
prashanth GT 2020 年 3 月 2 日

0 投票

function y = everyOther(x)
y = x(1:2:length(x));
end

カテゴリ

ヘルプ センター および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by