Filter löschen
Filter löschen

generating a matrix question

1 Ansicht (letzte 30 Tage)
mohamed
mohamed am 11 Dez. 2013
Kommentiert: mohamed am 12 Dez. 2013
i want to generate a matrix that each element is the sum of its row and column ive tried usin the henkel command but it didnt work is there an alternative or more simple solution thx

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 11 Dez. 2013
A=zeros(3,4);
[ii,jj]=ind2sub(size(A),1:numel(A));
A(1:end)=sum([ii' jj'],2)
  3 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 11 Dez. 2013
A=[20 4;3 5]
numel(A) % is number of element in A
ans=
4
A(1)
A(2)
A(3)
A(4)
1,2,3 and 4 are linear indices. to get subscripts use ind2sub
ii=[1 2 1 2] rows
jj=[1 1 2 2] column
Look at
doc numel
doc ind2sub
mohamed
mohamed am 12 Dez. 2013
thank you

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 11 Dez. 2013
Bearbeitet: Andrei Bobrov am 11 Dez. 2013
s = [3 4];% let s - size new matrices
A = hankel(2:s(1)+1,s(1)+1:sum(s));
or
A = bsxfun(@plus,(1:s(1))',1:s(2));
or
s = [3 4];
[ii,jj] = ndgrid(1:s(1),1:s(2));
A = ii + jj;

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by