Fed*_*ile 4 string matlab boolean type-conversion
我有一个 matlab 脚本,其中一个变量是:
a = 'false' % my string
Run Code Online (Sandbox Code Playgroud)
我的目标是将此类变量转换为布尔变量:
a = false % my goal
Run Code Online (Sandbox Code Playgroud)
有没有一个matlab函数可以让我将字符串转换为布尔值?
a = string2boolean('false') % I would like to have something like this
Run Code Online (Sandbox Code Playgroud)
如果没有允许这样做的功能,另一种可能的解决方案是什么?
你可以滥用strcmpi这个,即
a = strcmpi(a, 'true');
Run Code Online (Sandbox Code Playgroud)
这是一个不区分大小写的字符串比较,因此true、True和TRUE都转换为逻辑 true。所有其他字符串将自动转换为 false。
你可以自己写一个,比较简单
function [output]=string2boolean(string)
if strcmp(string,'false')
output = false;
else
output = true;
end
end
Run Code Online (Sandbox Code Playgroud)
此外,您可以完全跳过该功能并简单地
a = strcmp(a,'true');
Run Code Online (Sandbox Code Playgroud)