Using Randn with min and max matrices
古いコメントを表示
Hi all,
Is it possible to use randn with the min and max values being matrices?
For Example:
A = [1x28] %The numbers vary within this matrix
B = [1x28] %The numbers vary within this matrix
r = A + (B-A).*randn(500,28);
I'm trying to understand if this is mathematically possible, considering there are multiple min and max values. Will Matlab allocate each column a separate min and max value (this is what I am hoping it will do)? Or should this problem simply be tackled using a different approach?
What I am looking for is to create a random [500x28] matrix with varying min and max values that are specified in matrices A and B. I have used randn before for integer values and it has worked beautifully. I just don't know if it is mathematically correct to use it in this context. I would love some thoughts and information on the best approach to take.
Thanks in advance.
採用された回答
その他の回答 (1 件)
Image Analyst
2016 年 11 月 28 日
You could do this:
A = randi(99, 1,28) % The numbers vary within this matrix
B = randi(99, 1,28) % The numbers vary within this matrix
r = zeros(500, 28);
for col = 1 : size(A, 2)
r(:, col) = A(col) + (B(col) - A(col)) .* rand(500, 1);
end
You might want to make sure B is more than A if that's what you expect.
3 件のコメント
Zena Assaad
2016 年 11 月 28 日
Image Analyst
2016 年 11 月 28 日
OK, though it can be a bit cryptic for beginners. That's why I went with something I thought would be easier for you to understand. Though if you can remember how bsxfun works, it can be handy.
Zena Assaad
2016 年 11 月 28 日
カテゴリ
ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!