matlab如何读取含有文本的TXT数据文件并存入多个数组?最好每一列数字存到一个一维数组中

假设数据为这样格式的:data.txt
$GPGGA,035934.50,3906.1448,N,11709.5060,E,1,09,0.9,30.08,M,-8.80,M,,*4F
$GPGGA,035935.00,3906.1448,N,11709.5060,E,1,09,0.9,30.06,M,-8.80,M,,*45
$GPGGA,035935.50,3906.1448,N,11709.5060,E,1,09,0.9,30.07,M,-8.80,M,,*41
$GPGGA,035936.00,3906.1448,N,11709.5060,E,1,09,0.9,30.08,M,-8.80,M,,*48
$GPGGA,035936.50,3906.1448,N,11709.5060,E,1,09,0.9,30.11,M,-8.80,M,,*45
$GPGGA,035937.00,3906.1448,N,11709.5060,E,1,09,0.9,30.13,M,-8.80,M,,*43
$GPGGA,035937.50,3906.1448,N,11709.5060,E,1,09,0.9,30.15,M,-8.80,M,,*40
$GPGGA,035938.00,3906.1448,N,11709.5060,E,1,09,0.9,30.14,M,-8.80,M,,*4B
$GPGGA,035938.50,3906.1448,N,11709.5060,E,1,09,0.9,30.16,M,-8.80,M,,*4C
$GPGGA,035939.00,3906.1448,N,11709.5060,E,1,09,0.9,30.15,M,-8.80,M,,*4B
$GPGGA,035939.50,3906.1447,N,11709.5060,E,1,09,0.9,30.20,M,-8.80,M,,*47

第1个回答  2012-05-14
fid=fopen('data.txt');
data=textscan(fid,'%*s %f %f %*s %f %*s %f %f %f %f %*s %f %*s %*s %*s',...
'delimiter',',');
format long
data0=cell2mat(data)
format short追问

厉害,执行的很好,可以问一下,这个得到的是矩阵吗,可以直接使用任意的一行或者一列吗

追答

是的,你可以试一下

有问题欢迎追问,满意请采纳,谢谢!!

追问

那还问一下,我是想在GUI里面使用读取数据的代码,得到的每一列数据存储在一个单独的数组中,该怎么编写呢,谢谢了

matlab如何读取含有文本的TXT数据文件并存入多个数组?最好每一列数字...
fid=fopen('data.txt');data=textscan(fid,'%*s %f %f %*s %f %*s %f %f %f %f %*s %f %*s %*s %*s',...'delimiter',',');format long data0=cell2mat(data)format short

如何用MATLAB读取TXT文件并存入多个数组中
先打开文件 [filename,filepath]=uigetfile('*.txt','Select Input file');file = [filepath filename];fid = fopen(file,'rt');if fid == -1 ('Error opening the file')end 读取文件 while 1 nextline = fgetl(fid);读第一行 if ~isstr(nextline),break,end 读到最后跳出 disp(ne...

matlab如何读取含有文本的TXT数据文件并存入数组??
hang=[4 17];%4行到17行。这样你也可以变化 lie=[3 8];%3到8列。这样你也可以变化 [FileName,PathName] = uigetfile('*.txt','Select the Txt files');%弹出对话框,然后选择你要处理的文件 fid=fopen([PathName FileName]);temp=textscan(fid,'%s %s %s %s %s %s %s %s');fclose...

我想用matlab将txt中的数据读入然后存入数组中,有两列,分别是x和y值...
a=load('datas.txt');x=a(:,1);y=a(:,2);

matlab如何读取txt文本
1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...

matlab中怎么把一个二进制txt文件读到一个一维数组中,然后取数组中的每...
fclose(fid);a就是一个包含输入文件所有’0‘,’1‘字符的一维行向量 如果想获得0,和1的数值,可以 b=a-’0‘;那么b就是double型的由数值0,1组成的行向量和a对应 b=(a=='1');那么b就是logical型的由数值0,1组成的行向量和a对应 这个时候,你可以打开另一个文件 fid=fopen('输出文件...

求助:用MATLAB导出TXT文件里的数据,数据较多 要用到scroll bar_百度知 ...
1. 连续读取多个文件的数据,并存放在一个矩阵中:(1) 首先是如何读取文件名:方法一:filename=dir(‘*.jpg’);那么第i个文件的文件名就可以表示为 filename(i).name 文件数量为:length(filename)方法二:先在Windows的 MSDOS(命令行)中使用以下命令生成一个list.txt文件:dir path\\folder \/...

Matlab如何读取文本文件
1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...

求助。利用matlab选着行读取大文本数据
1. 首先,打开目标文本文件。在MATLAB中,可以使用`fopen`函数来实现。例如,文件名为`flash_locate2006_08_25_18_20_19.txt`,路径为当前工作目录,则命令为:`fid = fopen('flash_locate2006_08_25_18_20_19.txt', 'r');`2. 逐行读取文本数据。使用`fgetl`函数可以实现,循环直到文件结束...

如何用matlab读大量数据
其实matlab读取txt文件是最快的,而且你的数据非常整齐,加起来一共是100行100列,非常整齐的数据,所以你把这些数据弄到一个txt文件里,如名为“11111.txt”。在主程序下编写下面的程序:infilename=input(文件名:,"s") %%%文件须在matlab\\work路径下 注意:输入文件名的时候一定要输入扩展名...

相似回答