2016-03-30 13 views
-1

マトリックスにランダムに数値(最大10個の数値)を配置する方法を知りたかったのです。数字の範囲は1から10までです。ランダムにN x Mゼロ行列に数値を加算する

私はA = zeros(5,8)で始まり、ランダムに10個の乱数を行列の周りに配置します。行列の

例:

enter image description here

+0

0〜10の任意の数の乱数、または正確に10〜乱数はどのように分布していますか? – mikkola

+1

'A = randi(10、[5 8])'? – Amro

+0

@Amro、助けてくれてありがとう!数字はランダムに分布しており、正確に10個のゼロを置き換えたいと思っていました。これは単なるサンプルテストです。私の行列は非常に大きく(1024、N)、Nは可変であり、非ゼロの項目の数は20になります。私は最終的に20-Sparse行列を作成しようとしています。ありがとう。 – Joe

答えて

3
N=20;       %// number of columns 
M=1024;       %// number of rows 
NumRand = 20;     %// number of random numbers 
RandomScalars = rand(NumRand,1); %// random numbers 
MyMatrix= sparse(M,N);   %// initialise matrix 
Idx = randperm(M*N,NumRand);  %// get indices to be filled 
MyMatrix(Idx) = RandomScalars; %// fill indexed places 

基本的には、インデックスにあなたの行列をlinear indicesの一定数を作成するためにrandpermを使用しています。単に希望の数字を置くだけで完了です。

関連する問題