我有一些研究所需的代码,开发人员没有时间和我一起解决这个问题,所以我希望能在这里得到一些帮助:
我认为这是一个 MATLAB 版本问题(可能),因为它看起来很简单。这是导致悲伤的代码:
y = char(x);
输出是:
Error using char
Conversion to char from logical is not possible.
是的。如果我执行 disp(x)
我会得到:
0
谁能告诉我这里是否有版本/语法/任何问题?
最佳答案
你不能真正相信函数 disp
在这种情况下。对于逻辑值,它将显示 0
或 1
。例如:
>> disp(false)
0
您应该改为使用 class
测试 x
的数据类型函数,我相信您会看到它返回 logical
:
>> x = false;
>> class(x)
ans =
logical
如果你想强制它进行转换,你可以将 logical
转换为 double
,如下所示:
y = char(double(x));
但是,您只会得到空值或标题字符开头(0
和 1
为 ASCII codes)。
关于MATLAB:char(x) yields 从逻辑转换为 char 是不可能的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46103825/