我只需要从这个向量得到的数字。结果必须是双。我需要快速、干净的代码,执行这个操作一遍又一遍在我的代码。

1视图(30天)
向量= {“G07”}{“G23”}{“G04”}{“G08”}{“20国集团”}{“G13”}{G30的}
下面这段代码是我的代码,但太多次运行时是缓慢的。
对=向量;
对= char(打印);
对=打印(:,2:结束);
对= str2num(打印);

答案(2)

马修•诺伊
马修•诺伊 2021年9月21日
你好
试试这个选择:
向量= [{“G07”}{“G23”}{“G04”}{“G08”}{“20国集团”}{“G13”}{G30的});
%调用上面的regexp()函数在单元阵列提取部分数量
B = regexp(向量,‘\ d + (\) ? (\ d +) ?”,“匹配”);
%调用str2double()函数来将文本转换为双精度值
= str2double ([B {:}])

Stephen23
Stephen23 2021年9月21日
编辑:Stephen23 2021年9月22日
最快:
C = {“G07”,“G23”,“G04”,“G08”,“20国集团”,“G13”,G30的};
V = sscanf (sprintf (' % s ',C {:}),“G % f”)
V = 7×1
7 23 4 8 20 13 30

类别

找到更多的在数据类型转换帮助中心文件交换

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!