首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB:从tex文件中读取空间分离的浮点数

MATLAB:从tex文件中读取空间分离的浮点数
EN

Stack Overflow用户
提问于 2016-09-09 07:27:15
回答 2查看 272关注 0票数 0

我正在使用MATLAB的文本扫描 函数读取一个文本文件。这里的问题是,在value中没有读取任何浮点,因为浮点数是用三个空格分隔的,我在编程中使用一些有效的语法是很新的。我的当前代码如下:

代码:

代码语言:javascript
复制
values = textscan(input_file, '%f   %f   %f   %f   %f\n %*[^\n]');

输入文件采用以下格式:

文件:

代码语言:javascript
复制
0.781844   952.962130   2251.430836   3412.734125   4456.016362
0.788094   983.834855   2228.432996   3196.415590   4378.885466
0.794344   967.653718   2200.798973   3119.844502   4374.097695

如果浮点值是#分隔的,那么下面的语句工作得很好:

代码语言:javascript
复制
values = textscan(input_file, '%f#%f#%f#%f#%f\n %*[^\n]');

除了令牌化之外,还有其他解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-09 07:50:16

您需要指定一个分隔符,还应该激活MultipleDelimsAsOne,以便将重复的空间作为单个分隔符对待:

代码语言:javascript
复制
value = textscan(input_file, '%f   %f   %f   %f   %f \n ','Delimiter',' ','MultipleDelimsAsOne',1);

如果需要,还可以同时指定几个分隔符:

代码语言:javascript
复制
del = {';',' '};
票数 1
EN

Stack Overflow用户

发布于 2016-09-09 07:39:03

如果您不需要使用文本扫描,您可能会使用importdata数据。在那里,可以将分隔符指定为参数。文档http://se.mathworks.com/help/matlab/ref/importdata.html

代码示例

代码语言:javascript
复制
filename = 'myfile01.txt';
delimiterIn = '   ';
A = importdata(filename,delimiterIn);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39406070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档