帮助中心帮助中心
可以通过使用字符串创建文本数据来控制图表行为和输出易于阅读的文本。
在Stateflow®,一个字符串是一段由双引号括起的文本("...").此外,单引号字符串('...')在使用C作万博1manbetx为动作语言的图表中得到支持。例如,这个图表接受字符串数据作为输入。基于该输入,图表生成相应的字符串输出。
"
'
要指定字符串符号,首先打开属性检查器.在符号窗格中,选择要转换为字符串的数据。在属性检查器,设置类型来字符串.Stateflow动态地为这种类型的数据分配内存空间。
字符串
要在状态流图中操作字符串数据,请使用该表中的操作符。
连接两个字符串
+
h =“你好,”w =“世界!”X = + (h,w)
strcat
s1 =“状态”;s2 =“流”;Dest = strcat(s1,s2);
确定字符串的长度
strlength
h =“你好,世界!”X = strlength(h)
strlen
L = strlen(“Stateflow”);
将字符串转换为double类型
str2double
X = str2double(“-12.345”);
将数值型、布尔型或枚举型数据转换为字符串
A = [1307];STR = string(a)
tostring
dest = tostring(RED);
您还可以创建具有最大字符数的字符串数据。将符号指定为缓冲区大小为的字符串n字符,设置类型字段的符号stringtype (n).字符串的文本可以比缓冲区短,但如果字符串长度超过缓冲区大小,则字符串中的文本将被截断。例如,如果类型符号的属性输出在前面的图表中是stringtype (10),则其状态值在被截断为“所有系统”.
n
stringtype (n)
输出
stringtype (10)
在
“所有系统”
您可以启用字符串截断检查参数来选择当字符串超过指定的长度时是停止模拟还是生成警告stringtype (n).
stringtype (n)
错误
警告
没有一个
请注意
与C或c++不同,Stateflow将转义序列解释为文字字符。例如,字符串“\ n”包含两个字符,反斜杠和n,没有换行符。
“\ n”
使用C作为动作语言的图表中的字符串与使用MATLAB的图表之间的关键区别®包括:
使用MATLAB作为操作语言的图表只支持用双引号括起来的字符串。万博1manbetx在使用C作为动作语言的图表中,字符串可以使用双引号或单引号。
在使用MATLAB作为动作语言的图表中,比较字符串返回1(真正的)当字符串匹配时。在使用C语言作为动作语言的图表中,比较字符串返回0.
比较字符串
1(真正的)
0
在使用MATLAB作为动作语言的图表中,比较字符串返回布尔值。在使用C语言作为动作语言的图表中,比较字符串返回双精度值。
若要返回字符串的长度,请使用strlength在使用MATLAB作为动作语言的图表中strlen在使用C作为动作语言的图表中。
方法连接字符串+用MATLAB作为动作语言的图表运算strcat在使用C作为动作语言的图表中。
使用MATLAB作为动作语言的图表在使用时强制输出变量的复杂性str2double.
使用MATLAB作为动作语言的图表支持所有的比较操作,例如万博1manbetx>,<,或= =.
>
<
= =
参数数据不能是字符串。
使用MATLAB作为动作语言的图表存在以下局限性:
常量数据不能是字符串。
不支持以下操作符:万博1manbetx
提取
extractBetween
sscanf
组成
附加
垫
数
sfprint
结构只能使用以下操作符:
isstring
有关状态流结构的更多信息,请参见通过状态流结构访问总线信号.
ascii2str|str2ascii|str2double|strcat|比较字符串|拷贝字符串|strlen|字符串的子串|tostring
ascii2str
str2ascii
拷贝字符串
字符串的子串
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处