Arrays str2双回传
我有一个岩石类型的向量,形式是Arrays str2双回传,arrays,string,matlab,double,Arrays,String,Matlab,Double,我有一个岩石类型的向量,形式是 Rock_1 '1' % What I get after use regexp% Rock_2 '2' . . . ---------> . . . Rock_n 'n' 我对岩石的编号很感兴趣,所以我设法用 Rocks = regexp(P(:,3),'\d*','Match') 然后我需要将数
Rock_1 '1' % What I get after use regexp%
Rock_2 '2'
. .
. ---------> .
. .
Rock_n 'n'
我对岩石的编号很感兴趣,所以我设法用
Rocks = regexp(P(:,3),'\d*','Match')
然后我需要将数字的单元格数组转换为数字矩阵,以便进行统计处理。问题是,在使用str2double
之后,我得到了一个满是nan的数组。我看不出我做错了什么。请帮忙
非常感谢。我认为您的问题在于,的输出是字符串单元格数组的单元格数组(即两级单元格封装),但您希望它是字符串单元格数组。您可以通过将添加到对
regexp
的调用中来实现这一点。然后,您将获得一个字符串单元格数组,该字符串可传递给:
>> P = {'Rock_1', 'Rock_2', 'Rock_3'}; % Sample data
>> Rocks = regexp(P, '\d*', 'match'); % How you did it above
>> str2double(Rocks)
ans =
NaN NaN NaN
>> Rocks = regexp(P, '\d*', 'match', 'once'); % With the 'once' option
>> str2double(Rocks)
ans =
1 2 3