how do I select every single element of matrix except middle

1 visualización (últimos 30 días)
Vaultec
Vaultec el 16 de En. de 2015
Comentada: Niels el 20 de En. de 2015
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 comentarios
David Young
David Young el 16 de En. de 2015
What do you mean by "select"? In other words, what operation are you going to carry out on the non-central elements?
Vaultec
Vaultec el 16 de En. de 2015
Editada: Vaultec el 16 de En. de 2015
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.

Iniciar sesión para comentar.

Respuestas (1)

Niels
Niels el 16 de En. de 2015
Editada: Niels el 16 de En. de 2015
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 comentarios
Vaultec
Vaultec el 16 de En. de 2015
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 el 20 de En. de 2015
Check the edit I did just 1 minute after you replied again. :)

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by