matlab导入txt文件数据并绘图

  • 1. 生成mat文件
  • 2. 用plot函数绘图
  • 3. figure图显示汉字
  • 4. 根据X和Y坐标数据生成对应曲线
  • 4.1 有两份数据,X坐标和Y坐标,根据这两个坐标数据生成对应曲线
  • 4.2 生成的多条曲线放置在一张图中


1. 生成mat文件

打开matlab, 这是用的是matlab R2019a

点击导入数据

MPAndroidChart如何修改tip样式_加载

找到自己想处理的的文件,打开

MPAndroidChart如何修改tip样式_matlab_02


MPAndroidChart如何修改tip样式_控制_03

MPAndroidChart如何修改tip样式_simulink_04


然后在matlab 工作区就可以看到这个mat文件,右键这个文件可以另存到专门的地方

MPAndroidChart如何修改tip样式_控制_05

2. 用plot函数绘图

新建一个plot函数

打开plot函数,写代码

close all;

clc;
close all;
load('CTSMCYt.mat');  # 加载需要处理的 .mat文件

x = CTSMCYt(1:2000,1);  # 用前2000个数据,第一列代表 x
y = CTSMCYt(1:2000,2);
xr = CTSMCYt(1:2000,3);
yr = CTSMCYt(1:2000,4);
vr = CTSMCYt(1:2000,5);
wr = CTSMCYt(1:2000,6);
ve = CTSMCYt(1:2000,7);
we = CTSMCYt(1:2000,8);
xe = CTSMCYt(1:2000,9);
ye = CTSMCYt(1:2000,10);

t = 0:0.02:40-0.02;   # 时间,采样时间为0.02s


# 以输出位置跟踪误差为例 , 具体代码含义不做解释


# 位置跟踪误差
figure(2);
# subplot(3,1,2)
plot(t, xr - x,'b', t,  yr - y, 'r' ,'linewidth',1.5);
set(gca,'FontName','Times New Roman','FontSize',9);
xlabel('time(s)'); ylabel('Tracking errors');
set(gca,'FontName','Times New Roman','FontSize',9);
set(gcf, 'unit', 'centimeters', 'position', [10 5 8 4.2])
set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1);
axis([0 40 -0.4 0.4]);
set(gca, 'YTick', [-0.4:0.2:0.4])
h=legend('$x_e$', '$y_e$');
set(h,'Interpreter','latex'); grid;
## 图上面添加小图
h1=axes('position',[0.33 0.34 0.385 0.2]);
axis(h1);
plot(t, xr - x,'b', t,  yr - y, 'r' ,'linewidth',1.5);
set(gca,'FontName','Times New Roman','FontSize',9);
set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1);
axis([10 20 -0.1 0.1]);
set(gca, 'YTick', [-0.1:0.1:0.1])
set(gca, 'XTick', [10:5:20]); 
grid;

写好之后,点击运行

MPAndroidChart如何修改tip样式_数据分析_06

MPAndroidChart如何修改tip样式_simulink_07

3. figure图显示汉字

  • 坐标以及图例显示汉字
  • 图形折点和坐标对应
close all;
load('data111.mat');  % 加载需要处理的 .mat文件
load('data111S1.mat');
Pb = data111(1:5,1);  % 用前5个数据,第一列代表Pb
Fe = data111(1:5,2);
W = data111(1:5,3);
Nie = data111(1:5,4);

t = 0.3:0.3:1.8-0.3;  % (折点和坐标对应)

figure(1);
% subplot(3,1,2)
plot(t,Pb,'-+b',t,Fe,'-*c',t,W,'-om',t,Nie,'-sr','linewidth',1.5);
set(gca,'FontName','Times New Roman','FontSize',9);
xlabel('\fontname{宋体}射线强度\fontname{Times New Roman}/MeV');
ylabel('\fontname{宋体}质量吸收系数\fontname{Times New Roman}\mu_m(cm^{2}/g)');
set(gca,'FontName','Times New Roman','FontSize',9);
% set(gcf, 'unit', 'centimeters', 'position', [10 5 8 4.2])
set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1);
axis([0 1.5 0 0.4]);
set(gca, 'XTick', [0:0.3:1.5])
set(gca, 'YTick', [0:0.1:0.4])
h=legend('铅','铁','钨','镍合金');
set(h,'FontName','宋体','Interpreter','latex'); 
grid;

MPAndroidChart如何修改tip样式_simulink_08

4. 根据X和Y坐标数据生成对应曲线

4.1 有两份数据,X坐标和Y坐标,根据这两个坐标数据生成对应曲线

4.2 生成的多条曲线放置在一张图中

clear;
clc;
close all;

load('xITSMC.mat');% 加载第 1 条曲线 X 轴数据
load('yITSMC.mat');% 加载第 1 条曲线 Y 轴数据

load('xITSMO.mat');% 加载第 2 条曲线 X 轴数据
load('yITSMO.mat');% 加载第 2 条曲线 Y 轴数据

load('xr.mat'); % 加载第 3 条曲线 X 轴数据
load('yr.mat'); % 加载第 3 条曲线 Y 轴数据

xITSMC = xITSMC(1:40000,1);
yITSMC = yITSMC(1:40000,1);

xITSMO = xITSMO(1:40000,1);
yITSMO = yITSMO(1:40000,1);

xr = xr(1:40000,1);
yr = yr(1:40000,1);

figure(1);
h1 = plot(xITSMC, yITSMC, ':m','linewidth',1.5); % 第一条曲线
hold on;
h2 = plot(xITSMO, yITSMO, 'b','linewidth',1.5); % 第二条曲线
hold on;
h3 = plot(xr, yr, '--g','linewidth',1.5); % 第三条曲线
set(gca,'FontName','Times New Roman','FontSize',12);
xlabel('X (m)','FontSize',12); ylabel('Y (m)','FontSize',12);  % \itX  表示斜体的X
axis([-0.2 1.6  -0.2 1.6]);
set(gca, 'YTick', [-0.2:0.6:1.6]);
set(gca, 'XTick', [-0.2:0.6:1.6]);
h=legend([h1,h2,h3],'ITSMC','ITSMC+SMO','Reference','Location','north','Numcolumns',3 ,'FontSize',10);
set(h,'Interpreter','latex'); 
grid;
% 图上面添加小图
h=axes('position',[0.55 0.3 0.15 0.4]);  %  右(增)   上(增)   长(增)   高(增)
axis(h);
plot(xITSMC,yITSMC,':m',xITSMO,yITSMO,'b',xr, yr, '--g','linewidth',1.5);
set(gca,'FontName','Times New Roman','FontSize',12);
set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1);
axis([1.28 1.31 0.65 0.8]);
set(gca, 'YTick', [0.65:0.075:0.8])
set(gca, 'XTick', [1.28:0.015:1.31]); 
grid;

MPAndroidChart如何修改tip样式_加载_09