可能重复:
在matlab中将字符串转换为数字数组
我是一个新的 Matlab 用户。我想知道如何执行上述操作。我完全被难住了。
非常感谢您的时间和帮助,在此先感谢。
MatLab 中的字符串只是一个字符数组。
您可以减去'0'
以保留每个数字的值。
> '321' - '0'
ans =
3 2 1
或者,不那么神秘str2num
或str2double
应用于字符数组的每个元素
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
while(*str)
{
value [i]= (*str - '0');
start++;
i++;
}