Reputation: 29
so i have this data
yi =
-1
1
1
-2
4
data=
1.0000 0 1.0000 0.2000 1.0000 1.0000
0 0 0 0.5000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
0 0 0 0 1.0000 0
1.0000 0 0 0 1.0000 0
and i short that data become like this
sdata =
0 0.2000 1.0000 1.0000 1.0000 1.0000
0 0 0 0.5000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
0 0 0 0 0 1.0000
0 0 0 0 1.0000 1.0000
with this rule
if yi < 0 theris 2 conditions:
a. if sdata member only 0 and 1 then output = min row sdata =0
b. if sdata member including number between 0 and 1 then output = min sdata except zero
so i want to find an output like this
output=
0.2000
1.0000
1.0000
1.0000
0
1.0000
i still stuck to this point
for i=1:5
if yi(i)>=0
output(i)=max(sdata(i,:));
else
output(i)=min(sdata(i,:));
end;
end;
outputnya=output'
Upvotes: 0
Views: 328
Reputation: 3458
Try this:
else
minVal = min(sdata(i,sdata(i,:)>0))
if minVal == 1
output(i)=min(sdata(i,:));
else
output(i) = minVal;
end;
end;
Explanation: sdata(i,:)>0
returns table of 0 and 1, sdata(i,sdata(i,:)>0)
returns element which meet specified condition.
Upvotes: 1