Matrix manipulation by function

2 Ansichten (letzte 30 Tage)
Lila wagou
Lila wagou am 6 Apr. 2017
Kommentiert: Lila wagou am 7 Apr. 2017
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 Kommentare
KSSV
KSSV am 6 Apr. 2017
iwant = A(2,2)
wont it solve the purpose?
Lila wagou
Lila wagou am 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Fangjun Jiang
Fangjun Jiang am 6 Apr. 2017
C=A;
C(B,:)=[];
C(:,B)=[]
  3 Kommentare
Jan
Jan am 7 Apr. 2017
Yes, hi Fangjun!
Fangjun Jiang
Fangjun Jiang am 7 Apr. 2017
Hello, friends!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by