Return Matlab 中字母的数字间隔

Return number-interval to letters in Matlab

是否可以在matlab中设置一个函数returns一个数字区间到一个指定的字母,我只能让1=A,2=B等等... 我想要一个可以使数字介于 0-10.5=B、9.5-20.5=X 之间的函数,一直到 300,每次都有一个新字母,这是否可能,或者我是否只需要进行冗长的手动操作?

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

我会写一个函数为:

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 确实按照您将数字定义在特定桶中的方式工作(> 和 >= 东西)。