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

 採用された回答

Andrei Bobrov
Andrei Bobrov 2011 年 6 月 30 日

0 投票

rand(200,400)*7

2 件のコメント

Hassan
Hassan 2011 年 6 月 30 日
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 2011 年 6 月 30 日
thanks but can you please show it with an example?

サインインしてコメントする。

その他の回答 (1 件)

Sean de Wolski
Sean de Wolski 2011 年 6 月 30 日

0 投票

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 件のコメント

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

サインインしてコメントする。

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by