Matrix dimension must agree

2 次查看(过去 30 天)
Cesar Ramirez
Cesar Ramirez 2019-2-25
Hi , I get error when trying to make xh = xp + r.
xl = [-5,-5] ;
xu = [5,5] ;
D = 2 ;
g =1000;
xp = xl+(xu-xl).*rand(0,1) ;
sigma = 1;
for i=1:g
r = normrnd(0,sigma^2,[D 1]);
xh = xp + r;

回答(1 个)

Kevin Phung
Kevin Phung 2019-2-25
编辑:Kevin Phung 2019-2-25
you are not using rand correctly. from the documentation:
"X = rand returns a single uniformly distributed random number in the interval (0,1).
X = rand(n) returns an n-by-n matrix of random numbers.
X = rand(sz1,...,szN) returns an sz1-by-...-by-szN array of random numbers where sz1,...,szN indicate the size of each dimension. For example, rand(3,4) returns a 3-by-4 matrix."
my guess is you were just trying to do:
xp = xl+(xu-xl).*rand; %without the (0,1) argument

类别

Help CenterFile Exchange 中查找有关 Random Number Generation 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by