MATLAB:char(x) yields 从逻辑转换为 char 是不可能的

标签 matlab type-conversion

我有一些研究所需的代码,开发人员没有时间和我一起解决这个问题,所以我希望能在这里得到一些帮助:

我认为这是一个 MATLAB 版本问题(可能),因为它看起来很简单。这是导致悲伤的代码:

y = char(x);

输出是:

Error using char

Conversion to char from logical is not possible.

是的。如果我执行 disp(x) 我会得到: 0

谁能告诉我这里是否有版本/语法/任何问题?

最佳答案

你不能真正相信函数 disp在这种情况下。对于逻辑值,它将显示 01。例如:

>> disp(false)
   0

您应该改为使用 class 测试 x 的数据类型函数,我相信您会看到它返回 logical:

>> x = false;
>> class(x)

ans =

logical

如果你想强制它进行转换,你可以将 logical 转换为 double ,如下所示:

y = char(double(x));

但是,您只会得到空值或标题字符开头(01ASCII codes)。

关于MATLAB:char(x) yields 从逻辑转换为 char 是不可能的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46103825/

相关文章:

windows - 如何在matlab中杀死孤立的winword.exe

python - 为什么enthought mkl例程比matlab慢

arrays - Postgresql 和大型多维数组

c# - TypeConverter.IsValid() 使用当前线程区域性但 TypeConverter.ConvertFrom() 不使用?

c# - 将 SelectedObjectCollection 转换为特定类型的集合

type-conversion - Coq:测试部分可转换性

ios - Xcode 11 MATLAB生成的代码:找不到'omp.h'文件

image - 在 matlab 中将链接插入图像?

java - 将二进制字符串转换为字符

C 编译器使用常量的默认行为