MATLAB读取txt文件和绘图
MATLAB提供的fopen,textscan命令可以用来读取文本文件(如xx.txt文件)。本文分享MATLAB读取txt文件的方法,并根据读取的数据绘制图形。
操作方法
- 01
第一,准备数据。新建文本文档,命名为test20171010.txt,并在文本文档中输入下图数据,然后保存,作为MATLAB读取txt文件的数据。
- 02
第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码: close all; clear all; clc fileID=fopen('test20171010.txt'); C=textscan(fileID,'%s %s %f %s %d %u %f %f %s %f'); fclose(fileID); format compact celldisp(C) 其中%s %s %f %s %d %u %f %f %s %f(共计10个%),依次对应文本文档test20171010.txt中10列数据,%s读取空白或字符串,%f读取浮点型数据,%d和%u读取整型数据。 format compact是使命令行窗口输出的数据行距紧凑。
- 03
第三,保存和运行上述脚本,在命令行窗口得到如下结果,C为1*10元胞数组,里面包含了test20171010.txt的全部数据。 C{1}{1} = 2017/10/1 C{1}{2} = 2017/10/2 C{1}{3} = 2017/10/3 C{2}{1} = temperature1 C{2}{2} = temperature2 C{2}{3} = temperature3 C{3} = 22.3500 24.1500 35.9000 C{4}{1} = r-humidity1 C{4}{2} = r-humidity2 C{4}{3} = r-humidity3 C{5} = 45 50 35 C{6} = 123000 9000000 200000 C{7} = Inf -Inf 10 C{8} = NaN 0.0010 100.0000 C{9}{1} = Yes C{9}{2} = NO C{9}{3} = NO C{10} = 5.1000 + 3.0000i 2.2000 - 0.5000i 3.1000 + 0.1000i
- 04
第四,读取test20171010.txt的数据后,在工作区(Workplace)中可以看到元胞数组C。下面绘制test20171010.txt中温度(第3列)和相对湿度(第5列)的图像,接着输入如下代码: x=1:3; [hAxes,hBar,hLine]=plotyy(x,C{3},x,C{5},'bar','plot') set(hLine,'color','r','LineWidth',2,'Marker','o') 其中plotyy为绘制双坐标轴图形的命令,这样可以把温度绘制成柱状图(bar),把相对湿度绘制成线图(plot)。
- 05
第五,保存和运行上述脚本,得到如下图形,柱状图表示温度,线图表示相对湿度,相应的数据是MATLAB读取文本文档test20171010.txt得来的。