Create random values between two decimal values
1 次查看(过去 30 天)
显示 更早的评论
I have written this code so far:
%create initial elastic net points as evenly spaced in horizontal position
%with random vertical components.
%create the initial matrix
en_points = zeros(NUM_EN_POINTS,2);
%make the x comp evenly spaced horizontally spanning the length of cities
en_points(1:NUM_EN_POINTS,1) = transpose(linspace(0,1,NUM_EN_POINTS));
%make the y comp a random value between the cities
en_points(1:NUM_EN_POINTS,2) = rand();
What I am trying to do is make column 2 be a random variable between two decimal values, which are (0.5 - l, 0.5 + l).
Is this possible?
0 个评论
采纳的回答
更多回答(2 个)
Andrei Bobrov
2012-10-10
use unifrnd from the Statistics Toolbox
en_points(1:NUM_EN_POINTS,2) = unifrnd(.5 - l,.5 + l,NUM_EN_POINTS,1);
OR
en_points(1:NUM_EN_POINTS,2) = .5 - l + 2*l*rand(NUM_EN_POINTS,1);
0 个评论
Image Analyst
2012-10-10
Perhaps you overlooked the first example in the help for rand(). Here it is:
Example 1
Generate values from the uniform distribution on the interval [a, b]:
r = a + (b-a).*rand(100,1);
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!