matlab 文件格式如何转换呢?跪求大神指导 10
这种文件格式:11:13:0.995394:-0.05889(第一个是类别,后面是特征值,值为0的缺省了)如何转换为这种格式:1,0,0.99539,-0.058891(...
这种文件格式:1 1:1 3:0.99539 4:-0.05889 (第一个是类别,后面是特征值,值为0的缺省了)
如何转换为这种格式:1,0,0.99539,-0.05889 1(前面是特征值,最后一个是类别) 展开
如何转换为这种格式:1,0,0.99539,-0.05889 1(前面是特征值,最后一个是类别) 展开
2个回答
展开全部
fidr=fopen('读文件名.txt','r');
fidw=fopen('写文件名.txt','w');
tr=fgetl(fidr);
while ischar(tr)
a=cellfun(@str2num,regexp(tr,'[\s:]','split'));
num=a(1);
datar=reshape(a(2:end),2,[]);
dataw=[];
dataw(datar(1,:))=datar(2,:);
tw=sprintf('%g,',dataw);
tw=[tw(1:end-1) ' ' num2str(num)];
fprintf(fidw,[tw '\r\n']);
tr=fgetl(fidr);
end
fclose(fidr);
fclose(fidw);
如果你原有的文件每一行都是1 1:1 3:0.99539 4:-0.05889 这种格式
那么以上代码可以将每一行转为1,0,0.99539,-0.05889 1格式
第一第二行中,改为你原文件的文件名,和转格式后保存成的文件名
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询