Как дать символы ascii в качестве ввода в simulink

Я должен дать символы ascii в качестве входных данных из simulink в поток состояний и должен проверить, совпадает ли ввод с существующим символом ascii. Может кто-нибудь помочь мне решить это? окажет большую помощь?

Пример:

Если я даю символы AFC 'AF' в качестве ввода от Simulink для потока состояний. Он должен выдавать 1 как вывод, если он соответствует существующему символу ascii в условии.

2 ответа

Simulink/Stateflow предпочитают числовые данные. Вы должны использовать целочисленное представление значения ASCII (используя тип данных uint8 или uint16), что сделает сравнение почти тривиальным.

Matlab не проводит четкого различия между строкой с одним символом и символом, и, насколько я знаю, невозможно использовать тип строки в потоке состояний. Преобразуйте входные данные в целые числа, затем используйте только сравнения целых чисел внутри диаграммы состояний. Вы можете использовать эту функцию для преобразования символов в целые числа в Matlab:

function [ integer ] = atoi( char )
%ATOI Ascii To Integer converts char to int
% 

integer = char - '0' + '0' ; %matlab seems a bit lunatic when it comes to chars

end
Другие вопросы по тегам