如何在simulink中输入ascii字符作为输入

时间:2015-01-23 05:07:42

标签: matlab ascii simulink stateflow

我必须将ascii字符作为输入从simulink提供给stateflow,并且需要检查输入是否与现有的ascii字符匹配。任何人都可以帮我解决这个问题吗?会有很大的帮助吗?

示例:

如果我给ascii字符' AF'作为从simulink到stateflow的输入。如果它与条件中现有的ascii字符匹配,则必须产生1作为输出。

2 个答案:

答案 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