我必须将ascii字符作为输入从simulink提供给stateflow,并且需要检查输入是否与现有的ascii字符匹配。任何人都可以帮我解决这个问题吗?会有很大的帮助吗?
示例:
如果我给ascii字符' AF'作为从simulink到stateflow的输入。如果它与条件中现有的ascii字符匹配,则必须产生1作为输出。
答案 0 :(得分:1)
Simulink / Stateflow更喜欢数字数据。您应该使用ASCII值的整数表示(使用uint8或uint16数据类型),这将使得比较几乎无关紧要。
答案 1 :(得分:0)
Matlab没有明确区分只有一个char和一个char的字符串,据我所知,在stateflow中不可能使用字符串类型。 将输入转换为整数,然后仅使用状态图表内的整数比较。 您可以使用此函数在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