• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

在MATLAB

matlab 来源:Maddy 6次浏览

使用textscan()时,我使用textscan来从文件中读取数据忽略“字被读出的数据是:在MATLAB

"ABC",0.156 
"DEF",0.125 
"GHI",0.101 

我的代码 – data = textscan(fid, '%s %f', 'Delimiter', ',');

数据{1}来作为

'"ABC"' 
'"DEF"' 
'"GHI"' 

我想要的数据{1}作为 –

'ABC' 
'DEF' 
'GHI' 

最后,如何可以有答案为

data = 
'ABC' [0.156]; 
'DEF' [0.125]; 
'GHI' [0.101]; 

,而不是使用数据{1}和数据{2}。谢谢!

===========解决方案如下:

实际上有两种方法在读取字符串时忽略"字符。由于每TEXTSCAN文档,可以使用%q格式而不是%s格式:

data = textscan(fid,'%q %f','Delimiter',','); 

或者您可以使用%s格式读取的字符串和使用功能STRREP从data{1}删除"字符:

data{1} = strrep(data{1},'"',''); 

然后,您可以使用函数NUM2CELL将data{2}中的数值数组转换为单元格数组,以便您可以将它concatenate它用绳子在data{1}单元阵列:

>> data = [data{1} num2cell(data{2})]; 

data = 

    'ABC' [0.1560] 
    'DEF' [0.1250] 
    'GHI' [0.1010] 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)