Manipulate matrix of different dimension

1 Ansicht (letzte 30 Tage)
kamal
kamal am 14 Aug. 2019
Beantwortet: Andrei Bobrov am 14 Aug. 2019
I have a matrix like this
q2.PNG
I want to create a square matrix of size 5. At first row of matrix 1 only element 1 is present. using that element i want matrix as m1 -m1 at 1st and second position of first row in matrix 2.
q1.PNG
Please help me the logic
  3 Kommentare
KSSV
KSSV am 14 Aug. 2019
(2,2) element is m1+m2+m5 or m1+m2?
kamal
kamal am 14 Aug. 2019
m2+m5

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 14 Aug. 2019
mm = [0 0 1;1 2 5;0 2 3 ;0 3 4; 0 4 5];
m = size(mm,1);
n = max(mm(:));
lo = eye(m,n) ~= 0;
M = zeros(m,n);
[ii,~,v]=find(mm);
M(sub2ind([m,n],ii,mm(mm~=0))) = -v;
M = M.*~lo;% or M(lo) = 0;
M = M + M.';
M(lo)=-sum(M,2);

Weitere Antworten (0)

Kategorien

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

Produkte


Version

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by