how do I select every single element of matrix except middle

2 ビュー (過去 30 日間)
Vaultec
Vaultec 2015 年 1 月 16 日
コメント済み: Niels 2015 年 1 月 20 日
Say for example I have a 3 by 3 matrix
[1,2,3;4,5,6;7,8,9]
How do I select every element of the matrix except for the middle element?
  2 件のコメント
David Young
David Young 2015 年 1 月 16 日
What do you mean by "select"? In other words, what operation are you going to carry out on the non-central elements?
Vaultec
Vaultec 2015 年 1 月 16 日
編集済み: Vaultec 2015 年 1 月 16 日
Well any operation really, For example if multiply by 2 -1. Basically I want to be able to alter every single element except the central element.

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

回答 (1 件)

Niels
Niels 2015 年 1 月 16 日
編集済み: Niels 2015 年 1 月 16 日
If I understand you correctly, you could do something like this:
A(A~=A(ceil(numel(A)/2)))
or
setdiff(A,A(ceil(numel(A)/2)))
Assuming you always have an odd number of elements these approaches should work.
Considering your edit, you could do it like this:
B = A([1:ceil(numel(A)/2)-1, ceil(numel(A)/2)+1:end]) * whatever;
Or, keeping it within A;
A([1:ceil(numel(A)/2)-1, ceil(numel(A)/2)+1:end]) = ...
A([1:ceil(numel(A)/2)-1, ceil(numel(A)/2)+1:end]) * whatever;
  2 件のコメント
Vaultec
Vaultec 2015 年 1 月 16 日
Sorry that wasnt what I was looking for. Is there anything similar to A(1:3,1:3) and someway to remove the middle element or set it to 0 as I simply want to do operations on the remaining 8 elements
Niels
Niels 2015 年 1 月 20 日
Check the edit I did just 1 minute after you replied again. :)

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

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by