Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >这(从Matlab中的文本文件中读取输入)有什么问题吗?

这(从Matlab中的文本文件中读取输入)有什么问题吗?
EN

Stack Overflow用户
提问于 2009-09-21 14:14:14
回答 2查看 2.2K关注 0票数 1

我有一个文本文件(c:\input.txt),它有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2.0 4.0 8.0 16.0 32.0 64.0 128.0 256.0 512.0 1024.0 2048.0 4096.0 8192.0

在Matlab中,我想把它读成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = [2.0 4.0 8.0 16.0 32.0 64.0 128.0 256.0 512.0 1024.0 2048.0 4096.0 8192.0]

我试过这个代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fid=fopen('c:\\input.txt','rb');
data = fread(fid, inf, 'float');
data

但是我得到了一些垃圾值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data =

  1.0e-004 *

    0.0000
    0.0015
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0001
    0.0239
    0.0000
    0.0000
    0.0000
    0.0000
    0.0066
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0016
    0.0000
    0.0000
    0.0276
    0.0000
    0.3819
    0.0000
    0.0000

哪里出错了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-21 14:45:37

fread只用于读取二进制文件!

文本文件的等价物是福斯卡夫,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fid = fopen('c:\\input.txt','rt');
data = fscanf(fid, '%f', inf)';
fclose(fid);

或者在您的情况下,只需使用加载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = load('c:\\input.txt', '-ascii');

MATLAB中还有许多从文件中读取文本数据的方法:

票数 8
EN

Stack Overflow用户

发布于 2009-09-21 14:47:37

您的文件是文本文件,因此您应该打开它以便阅读文本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fid=fopen('c:\\input.txt','rt');

然后,在阅读方面,我发现TEXTSCAN比FREAD/FSCANF更强大(它们之间的差异被总结为这里 )。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = textscan(f, '%f')

返回单元格数组。你可以从

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> data{1}

ans =

       2
       4
       8
      16
      32
      64
     128
     256
     512
    1024
    2048
    4096
    8192

TEXTREAD比TEXTSCAN更容易使用,但是根据文档现在已经过时了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1457177

复制
相关文章
matlab读取mnist数据集(c语言从文件中读取数据)
mnist database(手写字符识别) 的数据集下载地:http://yann.lecun.com/exdb/mnist/。
全栈程序员站长
2022/08/01
5K0
matlab读取mnist数据集(c语言从文件中读取数据)
JavaScript中的类有什么问题
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/03/02
1.6K0
如何从Node.js中的命令行读取输入
您是否正在使用Node.js中开发一个小的CLI工具,并希望能够提示用户从命令行输入输入? Node.js正是为此目的提供了readline模块。 它提供了一个接口,用于从可读流(例如process.stdin)中一次读取一行数据。
ccf19881030
2020/10/26
8.6K0
JavaScript中的类有什么问题呢?
并不是说 JS 的类有问题,但是如果你使用该语言已有一段时间,特别是使用过ES5,那么你可能就知道了从原型继承到当前类模型的演变。
前端小智@大迁世界
2022/06/15
1.4K0
JavaScript中的类有什么问题呢?
matlab读取txt文件数据_matlab怎么输入数据
大家好,又见面了,我是你们的朋友全栈君。 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,‘打开方式’) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:  ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。  ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。  ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。  ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。  ‘a’:在打开的文件末端添加数据。文件不存在则创建。  ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。 2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为: COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。 例6.8 将一个二进制矩阵存入磁盘文件中。 >> a=[1 2 3 4 5 6 7 8 9]; >> fid=fopen(‘d:\test.bin’,’wb’) %以二进制数据写入方式打开文件 fid = 3 %其值大于0,表示打开成功 >> fwrite(fid,a,’double’) ans = 9 %表示写入了9个数据 >> fclose(fid) ans = 0 %表示关闭成功 2)读二进制文件 fread函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为: [A,COUNT]=fread(fid,size,precision) 说明:其中A是用于存放读取数据的矩阵、COUNT是返回所读取的数据元素个数、fid为文件句柄、size为可选项,若不选用则读取整个文件内容;若选用则它的值可以是下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。precision用于控制所写数据的精度,其形式与fwrite函数相同。 3、文本文件的读写操作 1)读文本文件 fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为: [A,COUNT]=fscanf(fid,format,size) 说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。size为可选项,决定矩阵A中数据的排列形式,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。 2)写文本文件 fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为: fprintf(fid,format,A) 说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。 例6.9 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。 >> a=’string’; >> fid=fopen(‘d:\char1.txt’,’w’); >> fprintf(fid,’%s’,a); >> fclose(fid); >> fid1=fopen(‘d:\char1.txt’,’rt’); >> fid1=fopen(‘d:\c
全栈程序员站长
2022/10/04
1.6K0
Matlab中读取txt文件的几种方法[通俗易懂]
2、importdata——只读取数据,自动省略数据格式前后的字符,超大文件不适合;
全栈程序员站长
2022/10/03
19.9K0
原创 | codefroces中的病毒,这题有很深的trick,你能解开吗?
我们今天选择的问题是contest 1419的C题,目前有接近8000的人通过了本题。今天这题的难度不大,但是真的很考验思维,一不小心就会踩中陷阱,我个人觉得非常有意思,适合周末动动脑。
TechFlow-承志
2020/10/09
6170
原创 | codefroces中的病毒,这题有很深的trick,你能解开吗?
如何同时从多个文本文件读取数据
在很多时候,需要对多个文件进行同样的或者相似的处理。例如,你可能会从多个文件中选择数据子集,根据多个文件计算像总计和平均值这样的统计量。当文件数量增加时,手动处理文件的可能性会减小,出错的概率会增加。
TalkPython
2019/05/24
3.9K0
java中怎么输入数组_java中如何从键盘输入数组
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
全栈程序员站长
2022/09/13
4K0
Python Numpy 从文件中读取数据
测试文件内容(test1.txt) hello,123,nihao 8,9,10 io,he,no 测试代码 import numpy # dtype:默认读取数据类型,delimiter:分隔符 world_alcohol = numpy.genfromtxt("test1.txt", dtype=str, delimiter=",") # 数据结构 print(type(world_alcohol)) # 数据内容 print(world_alcohol) # 帮助文档 print(help(nump
山海散人
2021/03/03
4.3K0
用Pandas从HTML网页中读取数据
本文,我们将通过几步演示如何用Pandas的read_html函数从HTML页面中抓取数据。首先,一个简单的示例,我们将用Pandas从字符串中读入HTML;然后,我们将用一些示例,说明如何从Wikipedia的页面中读取数据。
老齐
2020/05/15
9.6K0
用Pandas从HTML网页中读取数据
read命令从键盘中获取标准输入
read命令是用于从终端或者文件中读取输入的内部命令,read命令读取整行输入,每行末尾的换行符不被读入。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY。下面的列表给出了read命令的常用方式:
前Thoughtworks-杨焱
2021/12/08
2.1K0
matlab中@的用法[通俗易懂]
@是用于定义函数句柄的操作符。函数句柄既是一种变量,可以用于传参和赋值;也是可以当做函数名一样使用。
全栈程序员站长
2022/09/13
2.7K0
matlab中@的用法[通俗易懂]
Matlab中的括号()[]{}
Matlab中经常会用到括号去引用某Array或者是cell的内容,但三者有什么具体区别呢? [ ] 中括号用来构建向量(Vectors)或者是矩阵(Matrices)。 如[6.9 9.64 sqrt(-1)] 就是一个有三个元素的向量。 [11 12 13; 21 22 23]是一个二乘三的矩阵. 分号(;)用来结束一行。中括号的另一个作用是在函数中,分配输出参数。 { } 大括号,用于cell型的数组的分配或引用。 比如A(2,1) = {[1 2 3; 4 5 6]}, or A{2
听城
2018/04/27
2.3K0
Matlab中的括号()[]{}
使用C++中的cin函数来读取用户的输入
在C++中,cin是一个头文件iostream中的标准输入流,它用于从键盘读取输入。cin函数可以读取多种类型的数据,包括基本数据类型(如int、float、double)和字符串类型,其功能十分强大。使用cin函数读取用户输入可以让程序更加灵活、交互性更强。
很酷的站长
2023/08/25
1.5K0
使用C++中的cin函数来读取用户的输入
Java 读取文本文件
我想用Java 读取文本文件(txt)中的字符,但是对Java的文件操作不怎么熟悉,于是开始翻官方文档,解决了如何从文件中读取一行或者全部数据的问题。
全栈程序员站长
2022/06/25
1.8K0
Java 读取文本文件
matlab中的im2bw函数_matlab中tofloat
这种du格式将一张二值图像显示在屏zhi幕上, 允许用户使用鼠标在图像上点几个点, 这几个点围成的区域即要填充的区域。要以这种交互方式操作, BW必须是一个二维的图像。用户可以通过按Backspace键或者Delete键来取消之前选择的区域;通过shift+鼠标左键单击或者鼠标右键单击或双击可以确定选择区域。
全栈程序员站长
2022/09/30
1.1K0
matlab中的ezplot函数详解_matlab中fix函数的用法
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说matlab中的ezplot函数详解_matlab中fix函数的用法,希望能够帮助大家进步!!!
Java架构师必看
2022/09/23
1.8K0
matlab中的ezplot函数详解_matlab中fix函数的用法
Python 读取文本文件的内容
数据存储方式有很多种。如果数据的数据量比较大、数据类型繁多且要求便于搜索,我们一般会选择存储到数据库中。如果数据内容只是一些的文本信息,我们可以将数据存储到 TXT 、JSON、CSV 等文本文件中。类似存储小说、日志内容等场景,一般是将内容存储到文本文件中。数据已经存储到 txt 文件中,那该如何读取了?本文的主要内容是讲解如何读取文本文件的内容。
猴哥yuri
2018/08/16
2.2K0
tf34:从ckpt中读取权重值
在TensorFlow里,提供了tf.train.NewCheckpointReader来查看model.ckpt文件中保存的变量信息。
MachineLP
2022/05/09
1.1K0
tf34:从ckpt中读取权重值

相似问题

Matlab:从文本文件中读取复数

112

如何从文本文件中读取一行以便在matlab中输入

11

从大型文本文件中读取Matlab中的数据

20

用matlab从文本文件中读取函数

11

如何在matlab中从文本文件中读取矩阵

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文