如何在matlab中为每个矩阵元素添加一个随机数?

时间:2013-07-15 10:54:08

标签: matlab random

我有以下matrix XColumn vector H

 X=[ 1 2 3; 2 3 4; 3 4 5];
 H=[1; 2 ;3];
 m=[X(:,1) H(:) X(:,2) H(:) X(:,3) H(:)];

如何在添加随机数后将矩阵中的每列H保持相同的同时为m的所有元素添加一个小的随机数?

2 个答案:

答案 0 :(得分:2)

您应该单独添加随机数,然后构建组合矩阵。

Xnew = X + rand(size(X)); % replace 'rand' with the random numbers you want
Hnew = H + rand(size(H));
mnew = [Xnew(:,1) Hnew(:) Xnew(:,2) Hnew(:) Xnew(:,3) Hnew(:)];

答案 1 :(得分:0)

您可以将随机数添加到X而不是m

rX = X + rand(size(X)); % add uniformly distributed random numbers in [0,1] interval
m=[rX(:,1) H(:) rX(:,2) H(:) rX(:,3) H(:)];