Azzera filtri
Azzera filtri

generating a matrix question

3 visualizzazioni (ultimi 30 giorni)
mohamed
mohamed il 11 Dic 2013
Commentato: mohamed il 12 Dic 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

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 11 Dic 2013
A=zeros(3,4);
[ii,jj]=ind2sub(size(A),1:numel(A));
A(1:end)=sum([ii' jj'],2)
  3 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 11 Dic 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 il 12 Dic 2013
thank you

Accedi per commentare.

Più risposte (1)

Andrei Bobrov
Andrei Bobrov il 11 Dic 2013
Modificato: Andrei Bobrov il 11 Dic 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;

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by