Matrix manipulation by function

1 次查看(过去 30 天)
Dear all, For a given matrix (square) i need to eliminate some elements (some rows and columns)
A =
35 6 19
3 7 23
31 2 27
I need only the second (not the first and the third) row and column : the eliminated are stocked in a vector
B = (1 3)
So : some function (A, B) :::> the result C = 7
function (A, B) = C
  2 个评论
Lila wagou
Lila wagou 2017-4-6
Dear KSSV, i need a function for lot of use
A1 =
35 6 19
3 7 23
31 2 27
and
B1 = (1 3)
C1 = 7
or
A2 =
35 6 19 11
3 7 23 44
31 2 27 55
31 2 27 55
and
B2 = (2 3)
C2 =
35 11
31 55

请先登录,再进行评论。

采纳的回答

Andrei Bobrov
Andrei Bobrov 2017-4-6
ii = num2cell([1;1]*setdiff(1:length(A),B(:)'),2);
out = A(ii{:});
  8 个评论
Lila wagou
Lila wagou 2017-4-7
Dear Andrei; please how to trait a vector (eliminate the elements stocked in a vector by order)
A = [10 52 33]
B = [3]
ii = num2cell([1]*setdiff(1:length(A),B(:)'),1);
out = A(ii{:});
i get out = 52 so i must get out = 10 52

请先登录,再进行评论。

更多回答(1 个)

Fangjun Jiang
Fangjun Jiang 2017-4-6
C=A;
C(B,:)=[];
C(:,B)=[]

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by