I wonder how I can make an array (200,400) with values 0 to 7 which randomly distributed? I apperciate your help.

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 30 Juin 2011

0 votes

rand(200,400)*7

2 commentaires

Hassan
Hassan le 30 Juin 2011
thanks Andrei. I wonder how I can group each value in the array. for eaxmple (1:20,1:20)=1,(40:70,40:70)=2 and so on.
Hassan
Hassan le 30 Juin 2011
thanks but can you please show it with an example?

Connectez-vous pour commenter.

Plus de réponses (1)

Sean de Wolski
Sean de Wolski le 30 Juin 2011

0 votes

szs = [20 20 30]; %sizes
vals = [1 0 2]; %values
C = cellfun(@(c,v)ones(c)*v,num2cell(szs),num2cell(vals),'uni',false);
M = blkdiag(C{:});

3 commentaires

Andrei Bobrov
Andrei Bobrov le 30 Juin 2011
like
C = arrayfun(@(i1)ones(szs(i1))*vals(i1),1:3,'un',0);
Sean de Wolski
Sean de Wolski le 30 Juin 2011
Nicer!
I don't think I've ever used arrayfun()
Hassan
Hassan le 30 Juin 2011
thanks a lot Sean and Andrei.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by