如何用matlab读取txt文件中的数据,并画图

txt数据格式是这样的:第1个坐标点 x=1.22 y=2.33,一共有好多好多行,如何读取里面的x,y的坐标?并画出2维图?
用importdata读取数据,这些数据全在一列了
我使用下面的程序,但是每次画图都出错,应该是吧a的值赋给mynumber的时候数据类型不对了,可是我不会改。
%% 1 打开文件
[filename,filepath]=uigetfile('*.txt','选择文件!!!!');
file = [filepath filename];
fid = fopen(file,'rt');
if fid == -1
error('文件打开错误。')
end
%% 2 提取
mynumber = [];
while 1
nextline = fgetl(fid);
if ~isstr(nextline), break, end
disp(nextline);
a=sscanf(nextline, '%f');
mynumber=[mynumber;a]
end
numplot=mynumber(:);
plot(numplot);

利用MATLAB中的 load 读取函数与 plot 绘图函数可以实现所需的功能。

代码如下(假设txt的文件名为 data.txt ):

load data.txt
plot(1:length(data),data,'*-')

由于没有横坐标的值,横坐标利用 1:length(data) 代替。

如果data.txt 文件不在MATLAB的默认路径里面,那么文件还应包含此文件的路径。例如data.txt文件的路径为 C:\practice ,那么 load 函数应该改为

load C:\practice\data.txt

实现二维绘图功能可以利用最简单的绘图函数 plot 。例如绘制 X 与 Y 的图像(X,Y均为1*n或者n*1的矩阵),输入命令 plot(X,Y) 即可快速绘图。

扩展资料:

load 的其他用法:

1、 load(filename)         

从 filename 加载数据。如果 filename 是 MAT 文件,load(filename) 会将 MAT 文件中的变量加载到 MATLAB 工作区;如果 filename 是 ASCII 文件,load(filename) 会创建一个包含该文件数据的双精度数组。

2、 load(filename,variables)         

加载 MAT 文件 filename 中的指定变量variables。

3、 load(filename,'-ascii')         

将 filename 视为 ASCII 文件,而不管文件扩展名如何。

4、 load(filename,'-mat')         

将 filename 视为 MAT 文件,而不管文件扩展名如何。

5、 load(filename,'-mat',variables)         

加载 filename 中的指定变量。

6、 S = load(___)         

使用前面语法组中的任意输入参数将数据加载到 S 中。如果 filename 是 MAT 文件,则 S 是结构数组;如果 filename 是 ASCII 文件,则 S 是包含该文件数据的双精度数组。

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-26
请楼主把txt文件和上述代码发给我:
humour333@126.com
我帮你看看怎么回事。

“用importdata读取数据,这些数据全在一列了 ”这个问题可以用reshape函数来进行修改。
你在matlab下打开“doc reshape”帮助查看一下reshape的使用方法,看例子就很明白了。本回答被提问者采纳
第2个回答  2010-09-26
可以用importdata读取数据 至于画图直接plot就好了
还有什么问题站内联系
第3个回答  2010-10-06
你要不把数据放在EXCEL中试试看
相似回答