zql_progress 发表于 2010-1-28 10:14

如何从txt文本中提取一列数据?

大家好!我是MATLAB新手,现在需要从16384行5列的文本数据中提取某一列(如第5列)数据,如何实现呢?期待大侠们的帮助!万分感谢!急!
下面是部分数据(文件名为:9jieguo1.txt):

0.50000E-02    0.500000E-02 -0.532891E-08 -0.532891E-08 -0.532891E-08
0.10000E-01    0.100000E-01 -0.762978E-08 -0.762978E-08 -0.762978E-08
0.15000E-01    0.150000E-010.267390E-070.267390E-070.267390E-07
0.20000E-01    0.200000E-010.633209E-070.633209E-070.633209E-07
0.25000E-01    0.250000E-010.247159E-070.247159E-070.247159E-07
0.30000E-01    0.300000E-01 -0.324865E-07 -0.324865E-07 -0.324865E-07
0.35000E-01    0.350000E-01 -0.254028E-07 -0.254028E-07 -0.254028E-07
0.40000E-01    0.400000E-01 -0.297539E-08 -0.297539E-08 -0.297539E-08
0.45000E-01    0.450000E-010.588851E-080.588851E-080.588851E-08
0.50000E-01    0.500000E-010.332077E-070.332077E-070.332077E-07
0.55000E-01    0.550000E-010.488184E-070.488184E-070.488184E-07
0.60000E-01    0.600000E-010.292068E-070.292068E-070.292068E-07
0.65000E-01    0.650000E-010.236863E-080.236863E-080.236863E-08
0.70000E-01    0.700000E-01 -0.236116E-07 -0.236116E-07 -0.236116E-07
0.75000E-01    0.750000E-01 -0.416398E-07 -0.416398E-07 -0.416398E-07

[ 本帖最后由 ChaChing 于 2010-1-28 21:10 编辑 ]

ChaChing 发表于 2010-1-28 11:31

先load进, 再处理!

zql_progress 发表于 2010-1-30 15:18

回复 沙发 ChaChing 的帖子

非常感谢!问题已经解决!祝你天天快乐!

ChaChing 发表于 2010-1-30 17:14

回复 板凳 zql_progress 的帖子

怎解决! 建议与大家分享你的成果

wusemm 发表于 2010-2-6 20:59

同问这个问题

我已经有txt文本数据,如何导入matlab处理,可否给各详细步骤,感谢

ChaChing 发表于 2010-2-6 21:03

回复 5楼 wusemm 的帖子

help load
help importdata

cl_1982614 发表于 2010-2-7 09:47

程序和输入文件见附件。 希望看到其他的程序。


输入文件:input.dat
11 8
-.11369E-35 .12006E+04 -.44973E+00 -.25486E+01 -.49342E+00 -.96195E-01 -.27174E+01 .29109E+01
-.20046E-35 -.46788E+04 .71252E-01 .57758E+02 -.14295E+01 .37558E+01 .57783E+02 -.50423E+01
-.16585E-38 .52330E+01 -.44525E-02 .49700E-02 -.66855E-02 .69460E-02 .41395E-02 .35363E-01
.20948E-38 .16339E+01 -.16281E-03 -.21950E-01 -.59159E-05 .17444E-03 -.18972E-01 .55946E-02
.14227E-38 -.91208E+00 -.13754E-03 .44672E-02 -.57513E-03 .20959E-02 .43984E-02 .49620E-02
-.14887E-38 .14533E+01 .41109E-04 -.67149E-02 .79985E-03 -.32606E-02 -.62200E-02 -.87427E-02
.89508E-39 .26151E+01 .86498E-03 -.51974E-01 .22977E-02 -.41590E-02 -.45913E-01 -.33926E-02
.26184E-38 .11988E+01 -.83188E-03 -.28858E-02 -.11694E-02 .11043E-02 -.14038E-02 .25288E-02
.31325E-38 -.16718E+01 .96352E-03 -.29389E-03 .13620E-02 .27050E-03 .11479E-03 -.54524E-02
.53622E-39 -.11350E+01 .31951E-03 .77262E-03 .33178E-03 -.16097E-03 -.48947E-03 -.20563E-02
-.11869E-38 .48081E+00 -.51258E-03 .48091E-03 -.83320E-03 -.55140E-03 .91278E-03 .53598E-03
源代码
clear all;
clc;
fid=fopen('input.dat','r');
%读入矩阵的行和列
tmp=fscanf(fid,'%f',2);
row=tmp(1); % 行
col=tmp(2); % 列
%
tmp=fscanf(fid,'%f',);
A = tmp';
fclose(fid);
%取矩阵的第5列
B=A(:,5);


[ 本帖最后由 ChaChing 于 2010-2-7 10:43 编辑 ]

ChaChing 发表于 2010-2-7 10:42

个人水平有限, 不知LS想讨论什么?
基本上, LS的程式没什么问题!

cl_1982614 发表于 2010-2-7 12:22

刚才在版内搜索相关的帖子,发现论坛元老eight发的精华帖,
把链接写上,也许会对wusemm 有所启发。
使用文本文件(.txt)进行数据存取的技巧总结

快乐人生662 发表于 2010-10-27 20:56

回复 zql_progress 的帖子

楼主请问怎么解决的?我现在也遇到这个问题,能否把源代码贴上

ChaChing 发表于 2010-10-27 23:18

回复 快乐人生662 的帖子

楼主很久没来了!:lol
请楼主分享解决成果并赚积分, 也忘了...
2/6/9F无法解决LS的问题吗? 或说明具体些:@)

快乐人生662 发表于 2010-10-28 21:03

回复 ChaChing 的帖子

谢谢,问题已经解决了,
load 'data.txt';
B=data(:,2);即可

happy 发表于 2010-10-28 21:26

快乐人生662 发表于 2010-10-28 21:03 static/image/common/back.gif
回复 ChaChing 的帖子

谢谢,问题已经解决了,


从操作的角度来讲,这是一种最简单的实现方式
从执行的角度来讲,这时一种最不经济的实现方式

ChaChing 发表于 2010-10-28 21:40

本帖最后由 ChaChing 于 2010-10-28 21:41 编辑

happy 发表于 2010-10-28 21:26 http://www.chinavib.com/static/image/common/back.gif
...这时一种最不经济的实现方式

有否较经济的实现方式!? fscanf? thks

快乐人生662 发表于 2010-10-29 21:15

回复 happy 的帖子

能否告知一种更好的方法?期待中
页: [1] 2
查看完整版本: 如何从txt文本中提取一列数据?