[問題] 比較數值的落點
有兩個矩陣a與c, 有一個亂數值b;
a矩陣內的元素為0到1的累積矩陣(詳見下例)。
想要判斷當b數值落在a矩陣元素內的區段時, 對應的c矩陣元素就記為1, 否則為0。
程式範例:
a = [0.3, 0.6, 0.85, 1];
b = rand(1);
c = zeros(1:4);
if b < a(1);
c(1) = 1;
else
c(1) = 0;
end
if b > a(1) && b <= a(2);
c(2) = 1;
else
c(2) = 0;
end
if b > a(2) && b <= a(3);
c(3) = 1;
else
c(3) = 0;
end
if b > a(3) && b <= a(4);
c(4) = 1;
else
c(4) = 0;
end
過去我有印象,好像可以透過多層if的判斷來寫, 但當下忘記要怎麼寫了...
所以只能用這種相對比較笨的方式來作多次if 判斷...
不曉得板上有誰能提供比較聰明 & 簡潔的寫法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.213.195
→
06/15 00:29, , 1F
06/15 00:29, 1F
→
06/15 01:09, , 2F
06/15 01:09, 2F
→
06/15 04:13, , 3F
06/15 04:13, 3F
→
06/15 04:16, , 4F
06/15 04:16, 4F
→
06/15 04:18, , 5F
06/15 04:18, 5F
→
06/15 07:12, , 6F
06/15 07:12, 6F
→
06/15 07:13, , 7F
06/15 07:13, 7F
→
06/15 07:13, , 8F
06/15 07:13, 8F
→
06/15 07:13, , 9F
06/15 07:13, 9F
→
06/15 07:15, , 10F
06/15 07:15, 10F
→
06/15 07:15, , 11F
06/15 07:15, 11F
→
06/15 07:15, , 12F
06/15 07:15, 12F
→
06/15 07:16, , 13F
06/15 07:16, 13F
→
06/15 07:16, , 14F
06/15 07:16, 14F
→
06/15 07:17, , 15F
06/15 07:17, 15F
→
06/15 07:19, , 16F
06/15 07:19, 16F
→
06/15 17:20, , 17F
06/15 17:20, 17F
→
06/15 17:23, , 18F
06/15 17:23, 18F
推
06/15 23:30, , 19F
06/15 23:30, 19F