1

是否可以在matlab中设置一个函数,将数字区间返回为指定字母,我只能让1 = A,2 = B等等......我想要一个可以让数字在0-10.5之间的函数=B,9.5-20.5=X,一直到 300 每次都有一个新字母,这是否可能,还是我只需要手动操作?

4

2 回答 2

1

我会写一个函数为:

function out = mapNumbers(num)
buckets = [10.5:10:300]; % Create array of the form 10.5 20.5 30.5 ....290.5 
letters = [B X ....]; % You will have to type all letters, there is no way out
idx = find(buckets > num, 1); % find 1st bucket edge > num
out = letters[idx]; % This is the letter the number corresponds to 
end

您可以调整存储桶并找到使其适合您的情况。确保它buckets > num确实按照您将号码定义为特定存储桶(> 和 >= 东西)的方式起作用。

于 2016-01-11T05:20:15.333 回答
0

除非您的数字有一个很好的模式,否则我相信您将不得不使用 aswitch并将其全部硬编码。也就是说,如果您的数字范围中有很多块,您可能可以拥有case一个相对较大的范围确实遵循相同的模式。

于 2016-01-11T02:04:02.280 回答