实时搜索: matlab 如何读取文件

matlab 如何读取文件

474条评论 5637人喜欢 3709次阅读 941人点赞
我有如图的很多txt文件,我希望用matlab读取每个6666 0000 之间的数据并存入一个矩阵,依次下去,这个该怎么做呢? , 需要处理大量.gz的压缩数据文件,而且关键不能一劳永逸,网站会隔段时间给出新数据,给用户使用之后,用户希望源代码可以直接读取.gz文件而不需要解压缩,求助 , 程序中需要读入一个数据文件,而这个数据文件的路径是用户指定的,请问怎么让Matlab 读入指定路径下的文件(excel数据文件);前提是数据文件没在当前目录下,并且事先无法将数据文件放在当前目录下。多谢了 , x=input('请输入要读取的文件名:','s');
d=altreadsegy('E...

matlab读取文件下txt文件: fn = 'CH2006BST.txt';    % 文件名
sg = '6666 0000';        % 跳过标志
R = [];
fid = fopen(fn);
tline = fgetl(fid);
while ischar(tline)
    ss = tline(1:length(sg));
    if ~strcmp(ss,sg)
        dt = sscanf(tline,'%d%d%d%d%d%d*')';
        R = [R; dt];
    end
    tline = fgetl(fid);
end
fclose(fid);

求助如何用MATLAB直接读取.gz压缩文件: MATLAb直接读取貌似是不行的,我也研究过好长时间这个问题,也在百度知道上提问过,最后实在是没有办法,只好用MATLAB通过dos来调用WinRar进行解压。不过您要是给客户用的话,需要知道客户winRar的安装位置才行,给一下我的代码,希望能有些帮助。
pdir = ' F:\实验室\数据\avhrr201007\';
cd('D:\Program Files\WinRAR\');
dos(strcat('winrar e -ibck', pdir,file(i).name, pdir));
pdir是数据存储的目录,F前面是有一个空格的。然后cd括号里面的是电脑中WinRar安装的位置,dos那一部分就是进行解压,要是不需要在后台解压,可以去掉 -iback

matlab 如何从其他路径读入数据文件: 要得到MATLAB中可用来读写各种文件格式的完全函数列表,可以键入以下命令:
help iofun

MATLAB中有两种文件I/O程序:high level and low level.
High level routines: 包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。
Low level routines: 可以更加灵活的完成相对特殊的任务,需要较多的额外编程。

High level routines 包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。

举个例子,如果你有一个包含数值和字母的文本文件(text file)想导入MATLAB,你可以调用一些low level routines自己写一个函数,或者是简单的用TEXTREAD函数。

使用high level routines的关键是:文件必须是相似的(homogeneous),换句话说,文件必须有一致的格式。下面的段落描述一些high level file I/O routines并给出一些例子帮助理解概念。

LOAD/SAVE

主要的high level file I/O routines 是LOAD 和 SAVE函数。LOAD
可以读MAT-file data或者用空格间隔的格式相似的ASCII data. SAVE可以将MATLAB变量写入MAT-file格式或者空格间隔的ASCII data。大多数情况下,语法相当简单。下面的例子用到数值由空格间隔的ASCII file sample_file.txt :

1 5 4 16 8
5 43 2 6 8
6 8 4 32 1
90 7 8 7 6
5 9 81 2 3

Example:
用 LOAD and SAVE 读写数据

CODE:

% Load the file to the matrix, M :
M = load('sample_file.txt')

% Add 5 to M :
M = M +5

% Save M to a .mat file called 'sample_file_plus5.mat':
save sample_file_plus5 M

% Save M to an ASCII .txt file called 'sample_file_plus5.txt' :
save sample_file_plus5.txt M -ascii

UIGETFILE/UIPUTFILE

UIGETFILE/UIPUTFILE是基于图形用户界面(GUI)的。会弹出对话框,列出当前目录的文件和目录,提示你选择一个文件。UIGETFILE让你选择一个文件来写(类似Windows ‘另存为’选项?)。用UIGETFILE,可以选择已存在的文件改写,也可以输入新的文件名。两个函数的返回值是所选文件名和路径。

Example:
用 UIGETFILE 从当前目录选择一个 M-file

CODE:

% This command lists all the M-files in the current directory and
% returns the name and path of the selected file

[fname,pname] = uigetfile('*.m','Sample Dialog Box')

注意: UIGETFILE 一次只能选择一个文件。

UIIMPORT/IMPORTDATA

UIIMPORT是一个功能强大,易于使用的基于GUI的high level routine,用于读complex data files。文件也必须是homogeneous。

IMPORTDATA形成UIIMPORT的功能,不打开GUI。可以将IMPORTDATA用于函数或者脚本中,因为在函数或者脚本中基于GUI的文件导入机制并不理想。下面的例子用到包含几行文件头和文本、数值数据的文件'sample_file2.txt' :

This is a file header.
This is file is an example.
col1 col2 col3 col4
A 1 4 612.000
B 1 4 613.000
C 1 4 614.000
D 1 4 615.000

Example: Using IMPORTDATA to read in a file with headers, text, and numeric data

CODE:

% This reads in the file 'sample_file2.txt' and creates a
% structure D that contains both data and text data.
% Note the IMPORTDATA command specifies a white space
% as the delimiter of the file, but IMPORTDATA can usually
% detect this on its own

D = importdata('sample_file2.txt','') % 原文有误?
D = importdata('sample_file2.txt')

可以通过访问结构D的数据和文本域,来看结构D中的真实值,例如输入:
data = D.data
text = D.textdata

可以用UIIMPORT读同一个文件并得到同样的结构.

如何用MATLAB读取csv文件: CSVREAD

第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,

这时要求整个csv文件内容全部为用逗号隔开的数字,不能用其他字符。

第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列

的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的

读取是很重要的。

第三种:M = CSVREAD('FILENAME',R,C,RNG),其中 RNG = [R1 C1 R2 C2],读取

左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。

附注:

一:对于空置的单元,CSVREAD对数据自动置零。

二:根据MATLAB R2010a的帮助,CSVREAD在未来版本中将会被取

代 ( CSVREAD will be removed in a future release. )。

csv就是文本

MATLAB读取文件路径问题: d=altreadsegy(['E:\研究\',x]);

如何在matlab中读入一个wav声音文件: 在matlab中,可以用wavread函数来打开wav格式的声音文件。
wavread函数的用法如下:
1、y = wavread(filename)
% 输入参数filename为指定载入的音频文件名称,为单引号引出的字符串形式。返回参数y% % 为所读取的音频数据样本。当文件无扩展名时,系统自动附加扩展名.wav。
2、[y, Fs, nbits] = wavread(filename)
% 参数filename、y的定义同上,Fs为采样频率,nbits为文件中每个样本的字节数。
3、[...] = wavread(filename, N)
% 参数N为文件每个通道的前N个样本。
4、[...] = wavread(filename,[N1 N2])
% 参数N1、N2为文件每个通道从N1到N2的样本。

举例说明如下:
[y,fs,nbits]= wavread('d:\shuidaosound.wav');
sound(x,fs,bits); % 播放声音
% y就是音频信号;
% fs是采样频率,比如说16000就是每秒16000次;
% nbit是采样精度,比如说16就是指16位精度的采样。

请教一下MATLAB按照文件名循环读入文件的方法: 我的文件名是 test 1-1.txt,test 1-2.txt ,。。。。,test 1-10.txt然后设计了一个循环测试了下 clc;clear;for i=1:10 temp=['test 1-',num2str(i),'.txt'];
data(i)={textread(temp)}; %这里利用的是元胞数组,当然你也可直接写data=...然后进行运算end 如果是你提供的那种形式文件名,也不难依样画葫芦clc;clear;for i=1:3 for j=1:3
temp=[num2str(i),'-',num2str(j),'.txt'];
data(i,j)={textread(temp)};
end

matlab如何读取多个txt文件数据并画在一个图里,数据如图: file---import data,选择你的文件

  • nike产地有哪些

    芳华慢+霜雪千年等什么君吉他谱?: 你可以在网上做,等一些大神来扒谱 ...

    391条评论 2303人喜欢 4806次阅读 695人点赞
  • 2017是第几个电信日

    命中注定我爱你18集anson带存希去酒店那段歌叫什么名字?: 曹格的《吹吹风》 ...

    599条评论 5082人喜欢 5546次阅读 868人点赞
  • oppo 怎样取消root权限设置

    现在苹果7p好还是oppo最新版的ace好?: 如果你非要拿这两个手机进行对比的话,那肯定是OPPO的ace比较好,因为电子产品这个东西买新不买旧。即便是苹果手机,它有最好的应用程序的质量,还有最好的软件环境,但是毕竟苹果7plus这手机已经是三年前的手机了,而苹...

    675条评论 1689人喜欢 5923次阅读 631人点赞
  • 163邮箱在哪里看

    请问,武昌火车站的希璞酒店,早上去机场可以帮叫车吗?: 希璞酒店是有提供叫车服务的啊,可以给前台打电话提前预定,新酒店如果入住肯定特别舒心,毕竟房间干净温馨。 ...

    843条评论 5950人喜欢 2648次阅读 487人点赞
  • ipad为什么没有siri

    OPPO手机左上角出现一个人头像,怎么回事?: 您好,在手机情景模式下改为标准模式试试,可能是您开启了会议模式了。 ...

    689条评论 3340人喜欢 4604次阅读 890人点赞
  • mk是哪个公司

    we什么时候出战巴西: 2017年4月29日,LPL春季总决赛正式打响,WE战队以3:0的战绩击败强劲对手RNG,获得本次春季总决赛的冠军,为自己的春季赛征程画上了一个完美的句号。当然,他们的征程并未结束,在即将到来的MSI全球季中邀请赛上...

    714条评论 4290人喜欢 1446次阅读 613人点赞