matlab 读取逗号分隔,Matlab:如何用逗号作为小数分隔符读取数字?
使用测试脚本,我发现系数小于1.5.我的代码看起来像:
tmco = {'NumHeaderLines', 1 , ...
'NumColumns' , 5 , ...
'ConvString' , '%f' , ...
'InfoLevel' , 0 , ...
'ReadMode' , 'block', ...
'ReplaceChar' , {',.'} } ;
A = txt2mat(filename, tmco{:});
注意不同的’ReplaceChar’值和’ReadMode”块’.
我在我的(不是太新的)机器上获得了大约5MB文件的以下结果:
> txt2mat test comma avg.时间:0.63231
> txt2mat test dot avg.时间:0.45715
> textscan test dot avg.时间:0.4787
我的测试脚本的完整代码:
%% generate sample files
fdot = 'C:\temp\cDot.txt';
fcom = 'C:\temp\cCom.txt';
c = 5; % # columns
r = 100000; % # rows
test = round(1e8*rand(r,c))/1e6;
tdot = sprintf([repmat('%f ', 1,c), '\r\n'], test.'); % '
tdot = ['a header line', char([13,10]), tdot];
tcom = strrep(tdot,'.',',');
% write dot file
fid = fopen(fdot,'w');
fprintf(fid, '%s', tdot);
fclose(fid);
% write comma file
fid = fopen(fcom,'w');
fprintf(fid, '%s', tcom);
fclose(fid);
disp('-----')
%% read back sample files with txt2mat and textscan
% txt2mat-options with comma decimal sep.
tmco = {'NumHeaderLines', 1 , ...
'NumColumns' , 5 , ...
'ConvString' , '%f' , ...
'InfoLevel' , 0 , ...
'ReadMode' , 'block', ...
'ReplaceChar' , {',.'} } ;
% txt2mat-options with dot decimal sep.
tmdo = {'NumHeaderLines', 1 , ...
'NumColumns' , 5 , ...
'ConvString' , '%f' , ...
'InfoLevel' , 0 , ...
'ReadMode' , 'block'} ;
% textscan-options
tsco = {'HeaderLines' , 1 , ...
'CollectOutput' , true } ;
A = txt2mat(fcom, tmco{:});
B = txt2mat(fdot, tmdo{:});
fid = fopen(fdot);
C = textscan(fid, repmat('%f',1,c) , tsco{:} );
fclose(fid);
C = C{1};
disp(['txt2mat test comma (1=Ok): ' num2str(isequal(A,test)) ])
disp(['txt2mat test dot (1=Ok): ' num2str(isequal(B,test)) ])
disp(['textscan test dot (1=Ok): ' num2str(isequal(C,test)) ])
disp('-----')
%% speed test
numTest = 20;
% A) txt2mat with comma
tic
for k = 1:numTest
A = txt2mat(fcom, tmco{:});
clear A
end
ttmc = toc;
disp(['txt2mat test comma avg. time: ' num2str(ttmc/numTest) ])
% B) txt2mat with dot
tic
for k = 1:numTest
B = txt2mat(fdot, tmdo{:});
clear B
end
ttmd = toc;
disp(['txt2mat test dot avg. time: ' num2str(ttmd/numTest) ])
% C) textscan with dot
tic
for k = 1:numTest
fid = fopen(fdot);
C = textscan(fid, repmat('%f',1,c) , tsco{:} );
fclose(fid);
C = C{1};
clear C
end
ttsc = toc;
disp(['textscan test dot avg. time: ' num2str(ttsc/numTest) ])
disp('-----')
matlab 读取逗号分隔,Matlab:如何用逗号作为小数分隔符读取数字?相关推荐
- java 文件读取 逗号分隔_如何用逗号(,)作为R中的分隔符读取csv文件
我正在尝试在R.中读取此csv文件 . (scores.csv) ALVO,P,Prediction,fold 1,0.9079557994069131,"1",0 1,0.432 ...
- matlab引用csv文件,如何用MATLAB读取csv文件
如何使用Matlab读取csv文件 在Matlab中,有专门读取csv文件的函数:csvread().在Matlab的帮助文档中,有对这个函数的详细解释. csvread()函数有三种使用方法: 1. ...
- matlab在循环中保存jpg格式_Matlab如何循环读取文件
循环读取图片第一种方法①List =dir('*.jpg'); %如需其它图片格式支持,可以自己[重载dir()]函数,实现查找所有图片文件的功能, %如果图片是其它路径,可以用 ["路径& ...
- matlab 曲线拐点_如何用matlab把一组数据模拟一个函数图像?并找出曲线拐点?...
MATLAB概论 MATLAB是世界流行的优秀科技应用软件之一.具有功能强大(数值计算.符号计算.图形生成.文本处理及多种专业工具箱).界面友好,可二次开发等特点.在国内外,已有许多高等院校将其列为本 ...
- 用matlab处理表格,matlab删除excel表格数据-如何用matlab处理多个excel表格中的数据...
如何用matlab处理多个excel表格中的数据 biao='D:\Program Files\matlab\bin\filename.xls'; A1=xlsread (biao,'Sheet1', ...
- matlab 行 读取文件 跳过_MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)...
本帖最后由 rocwoods 于 2010-12-29 15:09 编辑 振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html M ...
- matlab读取其他位置,将文件的数据读取到matlab中,进行编辑,然后将其保存到其他位置...
将文件的数据读取到matlab中,进行编辑,然后将其保存到其他位置 我有一个名为EXP1_SQ1_Template.txt的文件.这是一个简单的文本文件,包含以下8行: LOAD BOX 1 SUBJ ...
- matlab如何添加数据集,如何用matlab把数据集导入数据库
最近要新几个好的新算法,要用到数据集,老师要求我们把数据集导入数据库,方便开发.所以就学习着matlab,但是从网上下载的数据一般都是矩阵类型的怎么才能导入数据库呢?网上找了找,怎么也没找到全适的答案 ...
- PCR主成分回归预测MATLAB代码 代码注释清楚。 main为主程序,读取EXCEL数据
PCR主成分回归预测MATLAB代码 代码注释清楚. main为主程序,读取EXCEL数据,也可以换自己数据集. 很方便,容易上手. ID:9624654486820873总有刁民膜拜朕
最新文章
- 还有多久才能用上2000元以下的5G手机?答案来了
- Go 语言编程 — defer 关键字
- easyui datagrid表头 toolbar 固定
- mysql autocommit 脚本_mysql autocommit的差异
- Spring Boot Dubbo 应用启停源码分析
- String s=a+b+c,到底创建了几个对象?
- 推送:腾迅信鸽 VS Bmob
- Qt修炼手册12_线程同步与线程等待条件
- 查询HTML标签select中options的值并定位其位置
- java中调用xml的方法:DocumentBuilderFactory
- 2.3Word2003段落设置1
- 【网络攻防】常见的网络攻防技术——黑客攻防(通俗易懂版)
- CentOS配置静态IP
- 小游戏开发引擎CocosCreator
- 海尔智慧电视如何进入工厂模式
- 【论文阅读】【二维目标检测】Revisiting Feature Alignment for One-stage Object Detection
- 运算放大器---封装尺寸
- html中background标签作用,CSS Background 属性详解
- TS中的方法重载,函数重载,构造器重载
- python电子邮件_Python 电子邮件