필터 지우기
필터 지우기

Compute a new vector dependent on two others and a random probability

조회 수: 1 (최근 30일)
Laurie Gerstenberger
Laurie Gerstenberger 2016년 10월 14일
댓글: KSSV 2016년 10월 14일
Hi everyone, I have the following problem which I can not figure out by myself. I have two column vectors (x &y: 200x1 each). Each entry is giving me percentages (0.2 0.4 or 0.6). I want to compute two vectors (z,k) based on the old vectors percentages. So if either x or y == 0.2, I want z or k to be 1 in 0.2% of occurences in the old vector and 0 in all the other cases. It does not matter whether z or k = 1.
Here is what I have tried so far:
if matrix(:,1)==0.2|matrix(:,2)==0.2
% matrix(:,5)==1
matrix(:,6)==1
end
Here I only wanted to try to find out the occurences where 0.2 is either in column 1 or 2 and then randomly delete the 1 entrys from column 5 and 6. But this already did not work :(.
Please help me!
  댓글 수: 3
Laurie Gerstenberger
Laurie Gerstenberger 2016년 10월 14일
Thanks for your answer.yes, I did.
KSSV
KSSV 2016년 10월 14일
Are you facing a problem to find out where 0.2 is? As the numbers are floating try abs(matrix(:,1) -0.2)<eps where eps is a small number.

댓글을 달려면 로그인하십시오.

답변 (1개)

Massimo Zanetti
Massimo Zanetti 2016년 10월 14일
By doing
x==0.2 | y==0.2
you are testing that ALL theelements of x or y equal 0.2. Is that really what you want?
  댓글 수: 2
Laurie Gerstenberger
Laurie Gerstenberger 2016년 10월 14일
true..Thanks! No I want that either one element in a row==0.2
Laurie Gerstenberger
Laurie Gerstenberger 2016년 10월 14일
I solved that now and now I have the position where either on of them is 0.2. Is there any way to write 1 randomly in either vector z or y randonly and only in 20% of the occurences of the positions?

댓글을 달려면 로그인하십시오.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by