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

iwant = A(2,2)
wont it solve the purpose?
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

0 Stimmen

ii = num2cell([1;1]*setdiff(1:length(A),B(:)'),2);
out = A(ii{:});

8 Kommentare

Lila wagou
Lila wagou am 6 Apr. 2017
Dear Andrei; please why 2 in ,B(:)'),2); thanks
Andrei Bobrov
Andrei Bobrov am 6 Apr. 2017
Bearbeitet: Andrei Bobrov am 6 Apr. 2017
Please read about num2cell, it's 'dim'.
Dear Andrei; thanks the explication, is it possible to get only the the first and the third (not the second) rows and columns : the wanted are stocked in a B vector
A =
35 6 19
3 7 23
31 2 27
B = (1 3)
C = function (A, B)
C =
35 19
31 27
C = A(B,B)
Lila wagou
Lila wagou am 7 Apr. 2017
Dear Andrei; Thank you a lot for your valued assistance.
Hy Lila, Hy Andrei Bobrov, i have a same need but for a vector, for a V_old vector i want to insert the V_ins vector in the order of V_ord vector (the value of 10 replace the 1 element of V_old, the value of 20 replace the 3 element of V_old):
V_old = zeros(1,3);
V_ins = [10 20];
V_ord = [1 3];
I want to write a function
V_new = MyFunction(V_old, V_ins, V_ord)
to get V_new = 10 0 20
Thank
V_new = V_old;
V_new(V_ord) = V_ins;
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

0 Stimmen

C=A;
C(B,:)=[];
C(:,B)=[]

3 Kommentare

Andrei Bobrov
Andrei Bobrov am 6 Apr. 2017
Hi Fangjun!
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.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by