2016-01-11 3 views
1

Возможно ли установить функцию в matlab, которая возвращает интервал чисел в указанную букву, я могу сделать только 1 = A, 2 = B и так далее ... Я хочу функцию, которая может делать числа между 0-10.5 = B, 9.5-20.5 = X, вплоть до 300 с новым письмом каждый раз, что даже возможно или мне просто нужно сделать длинный ручной способ?Возврат числа-интервала к письмам в Matlab

ответ

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 действительно работает так, как вы определяете свой номер в определенном ведре (> и> = материал).

0

Если у вас нет симпатичного шаблона для ваших номеров, я полагаю, вам придется использовать switch и жестко запрограммировать все это. Говоря это, вы можете иметь case для относительно большого диапазона, если есть являются фрагментами вашего диапазона номеров, которые соответствуют одному и тому же шаблону.