如何用matlab读取txt文件中的数据,并画图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用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 是包含该文件数据的双精度数组。
参考技术A 请楼主把txt文件和上述代码发给我:humour333@126.com
我帮你看看怎么回事。
“用importdata读取数据,这些数据全在一列了 ”这个问题可以用reshape函数来进行修改。
你在matlab下打开“doc reshape”帮助查看一下reshape的使用方法,看例子就很明白了。本回答被提问者采纳 参考技术B 可以用importdata读取数据 至于画图直接plot就好了
还有什么问题站内联系 参考技术C 你要不把数据放在EXCEL中试试看
以上是关于如何用matlab读取txt文件中的数据,并画图的主要内容,如果未能解决你的问题,请参考以下文章