7

可能重复:
在matlab中将字符串转换为数字数组

我是一个新的 Matlab 用户。我想知道如何执行上述操作。我完全被难住了。

非常感谢您的时间和帮助,在此先感谢。

4

3 回答 3

12

MatLab 中的字符串只是一个字符数组。

您可以减去'0'以保留每个数字的值。

> '321' - '0'

ans =

     3     2     1
于 2012-09-03T23:32:46.470 回答
9

或者,不那么神秘str2numstr2double应用于字符数组的每个元素

arrayfun(@str2double, '321')

作为奖励,这也将返回NaN对应于非标量的字符串值,即

>> arrayfun(@str2double, '321a')

ans =

     3     2     1   NaN

因此,对于字符串'321a4',以下仅返回有效的标量:

b = arrayfun(@str2double, '321a4')
c = b(~isnan(b))
c =

 3     2     1     4
于 2012-09-04T00:02:46.827 回答
0
while(*str)
{

    value [i]=  (*str - '0');
    start++;
    i++;

}
于 2012-11-08T04:25:43.927 回答