Matrix manipulation by function

3 views (last 30 days)
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 Comments
KSSV
KSSV on 6 Apr 2017
iwant = A(2,2)
wont it solve the purpose?
Lila wagou
Lila wagou on 6 Apr 2017
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

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 6 Apr 2017
ii = num2cell([1;1]*setdiff(1:length(A),B(:)'),2);
out = A(ii{:});
  8 Comments
Andrei Bobrov
Andrei Bobrov on 7 Apr 2017
V_new = V_old;
V_new(V_ord) = V_ins;
Lila wagou
Lila wagou on 7 Apr 2017
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

Sign in to comment.

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 6 Apr 2017
C=A;
C(B,:)=[];
C(:,B)=[]

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!