matlab中字符数组到数字数组的转换

matlab中字符数组到数字数组的转换,matlab,Matlab,我有以下尺寸为3x2的矩阵A: A = [12; 34; 56]; 但数据存储为字符。我想把它转换成数字数组。str2num没有。还有其他方法可以做到这一点吗?好吧,您的数组看起来不像是3乘2的数组。在任何情况下,您都在寻找铸造功能: A = double(A); 应该将您的字符转换为两倍。如果我理解正确,您已经 A = ['12'; '34'; '56']; %// strings 想得到什么 B = [1 2; 3 4; 5 6]; %// numbers 这可以按如下方式完成:将A

我有以下尺寸为3x2的矩阵A:

A = [12; 34; 56];

但数据存储为字符。我想把它转换成数字数组。str2num没有。还有其他方法可以做到这一点吗?

好吧,您的数组看起来不像是3乘2的数组。在任何情况下,您都在寻找铸造功能:

A = double(A);

应该将您的字符转换为两倍。

如果我理解正确,您已经

A = ['12'; '34'; '56']; %// strings
想得到什么

B = [1 2; 3 4; 5 6]; %// numbers
这可以按如下方式完成:将A转换为double以生成每个字符的ASCII代码,然后减去字符“0”的代码以获得所需的数字。事实上,当您减去字符时,到double的转换是隐式完成的,所以您可以使用

B = A-'0';

谢谢但是它会创建一个字符的ASCII码矩阵。好的,你能发布你的reall数组吗?这不是一个3乘2的阵列。还请发布生成数组的代码。它基于使用tdfread加载选项卡分隔的数据文件,不幸的是我无法加载数据集。好的,你能发布dispA和classA的输出吗?arrayfun和str2num?无论如何,这个问题写得很糟糕。为什么不能显示现有的数据以及预期的内容以及str2num失败的位置?