如何忽略数字单元格中的字母?

7次观看(最近30天)
I have imported a vector into MatLab from excel which was originally imported from ANSYS. I would like to plot this vector against another one, however each entry has a 'mm' after it, like so:
pinradius = [0.01mm; 0.02mm; 0.03mm; 0.04mm; ...]
MATLAB有没有办法可以忽略字母并阅读数字,以便我可以产生剧情?我知道我可以手动执行此操作,但是我有200多个条目。
非常感谢任何帮助,谢谢!
2条评论
丹尼尔·坦纳(Daniel Tanner)
它在单元格数组中。它们从0.01mm升至2.9mm。

登录发表评论。

接受的答案

亚当
亚当 2020年1月28日
编辑:亚当 2020年1月28日
cellfun( @(x)str2double(erase(x,'毫米')),,,,pin_radius )
应该将它们转换为一系列双打。
如果您使用的是R2016B,则必须使用类似的东西:
cellfun( @(x)str2double(strrep(x,'毫米',,,,'')),,,,pin_radius )
(在该版本中注意strrep的第三参数是两个连续的单语引号,而不是双引号)

更多答案(1)

斯蒂芬
斯蒂芬 2020年1月28日
更简单,更有效 SSCANF
>> c = {'0.01mm';0.02毫米的;'0.03mm';'0.04mm'};
>> v = sscanf([c {:}],'%fmm'
V =
0.010000
0.020000
0.030000
0。040000

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!