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!

