derive new variable with random float values using for loop
1 次查看(过去 30 天)
显示 更早的评论
Hi, I am trying to derive a new variable with random float values using for loop. Tried using randn.
for i=1:length(hosp_yn_coded)
if (hosp_yn_coded(i)==1)
los_total(i)=randn([0 2],1,1) % must be float bet 0-2 e.g. 0.1,0.2,0.4,1.4,1.2
else
los_total(i)=randn([0 1],1,1) % must be float bet 0-2 e.g. 0.1,0.2,0.4,1.4,1.2
end
end
Thanks so much!
0 个评论
采纳的回答
Jeff Miller
2020-12-13
Despite your comments, I guess you want 0-1 for the second option, not 0-2.
I guess you want all numbers in the range to be equally likely, so randn is not the right choice.
I wouldn't use a for loop here, but you can if you want:
for i=1:length(hosp_yn_coded)
if (hosp_yn_coded(i)==1)
los_total(i)=2*rand; % rand gives 0-1, so 2*rand is 0-2
else
los_total(i)=rand;
end
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!