我创建了一个数据文件名称列表,例如abc123.xml,abc456.xml,来自
list = dir('folder/*.xml').
Matlab以包含5个字段的10x1结构开始,其中第一个是名称。我用struct2table提取了所需的数据,所以我现在得到了一个10x1的表。我只需要数值为10x1 double。如何摆脱字母数字并更改数据类型?
我尝试了regexp(未定义函数' regexp'用于类型'表'的输入参数)和strfind(无法从表转换为double)。无法想出其他任何东西,因为我对Matlab很新。
答案 0 :(得分:1)
您可以提取name
字段并将其放在cell array中,使用regexp
捕获在每个名称中找到的第一个数字字符串,然后使用str2double
将它们转换为数值:
strs = regexp({list.name}, '(\d+)', 'once', 'tokens');
nums = str2double([strs{:}]);