I need to remove randi from for loop
1 view (last 30 days)
Show older comments
I need to remove randi from the for loop. Any help would appreciate.
I=30;
t1=randi([1 5],1,I);
t2=randi([6 10],1,I);
for i=1:I
TD(1,i)=randi([t1(1,i) t2(1,i)],1,1);
end
2 Comments
Star Strider
on 28 Jan 2018
That seems easy enough to do, although it would be interesting to know the reason you want to do it.
It would be best leave your code as it is, and simply overwrite ‘TD’ with something else.
Accepted Answer
Image Analyst
on 28 Jan 2018
randi() takes a range of integers. Since you want that range to change every column, I don't see how there is a way to do it without a for loop. However, if the (badly-named) I is less than a million, the for loop will be fast (less than a second or so)
0 Comments
More Answers (1)
Star Strider
on 28 Jan 2018
The code you posted does exactly what you describe.
Try this instead of the loop if you simply want something different:
TD = randi(10, 1, I);
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!