Matlab常用命令

2023年04月29日星期六晴北京市北京师范大学

由于工作中需要作图,虽然我本人不喜欢被美国限制,但是工作中难免会遇到Matlab代码,这是一个让人头疼的问题。所以开本博客记录一些常用的Matlab代码及设置,以供工作中参考,但是若大家作图请使用Octave,使用开源的软件可以避免被限制。未列出的命令请参考Matlab文档,为了使用方便本文仅列出相关命令。

去除边框

命令 解释
box off 去除上、右边框刻度
set(gca, 'Box','off'); 去除上、右边框
set(gca,'Visible','off'); 移除坐标轴边框
set(gcf,'color','w'); 设置背景为白色

作图举例

2023年04月30日星期日晴北京市北京师范大学

由于论文的需要,编辑要我重新按他的要求作图,但是之前没有说,挺心烦的。修改好之后,附上我作图的命令,以参考。

matlab example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
% 多图合一,图1
x = linspace(0,30);
t = tiledlayout(1,2);
t.Padding = 'compact';
t.TileSpacing = 'compact';
subcol = '#228b22';%深绿色
% 插入左图
nexttile
%当4a+c^2=0时的情况
% 设置线宽和颜色
lsize=1.5;
lcolor='m';
Fsize=26;
gcasize=26;
% 设置fp
t=0:0.01:6.29;
fp=cos(t)+1i.*sin(t);
c_1=1/64.*(16+4*fp-fp.^2+sqrt((16+4*fp-fp.^2).^2-16.*(fp.^2+2*fp+4).*(4-fp.^2)));
c_2=1/64.*(16+4*fp-fp.^2-sqrt((16+4*fp-fp.^2).^2-16.*(fp.^2+2*fp+4).*(4-fp.^2)));
a_1=-c_1.^2/4;
a_2=-c_2.^2/4;
plot(a_1,'Color','r','linewidth',lsize);
hold on
plot(a_2,'Color','b','linewidth',lsize);
plot(a_1,'Color','r','linewidth',lsize);
hold on
plot(a_2,'Color','b','linewidth',lsize);
handle=legend( ...
'$a_+$', ...
'$a_-$' ...
);
set(handle,'Box','off', 'interpreter','latex','FontSize',Fsize);
xtickformat('%.2f'); %设置小数精度
ytickformat('%.3f');
pos=axis;%取得当前坐标轴的范围[xmin xmax ymin ymax]
text(pos(1)+0.003,pos(4)-0.002,'a','FontSize',30,'color',subcol);
xlabel('Re(a)','FontSize',Fsize);
ylabel('Im(a)','FontSize',Fsize);
set(gca,'LooseInset',max(get(gca,'TightInset'),1));
set(gca,'Box','off','FontSize',gcasize,'Fontname','Times New Roman');
% 插入右图
nexttile
% 设置线宽和颜色
lsize=1.5;
lcolor='m';
Fsize=26;
gcasize=26;
% 设置fp
t=0:0.0001:6.29;
fp=cos(t)+1i.*sin(t);
c_1=1/64.*(16+4*fp-fp.^2+sqrt((16+4*fp-fp.^2).^2-16.*(fp.^2+2*fp+4).*(4-fp.^2)));
c_2=1/64.*(16+4*fp-fp.^2-sqrt((16+4*fp-fp.^2).^2-16.*(fp.^2+2*fp+4).*(4-fp.^2)));
a_1=-c_1.^2/4;
a_2=-c_2.^2/4;
plot(c_1,'Color','r','linewidth',lsize);
hold on
plot(c_2,'Color','b','linewidth',lsize);
handle=legend( ...
'$c_+$', ...
'$c_-$' ...
);
set(handle,'Box','off', 'interpreter','latex','FontSize',Fsize);
xtickformat('%.2f'); %设置小数精度
ytickformat('%.3f');
pos=axis;%取得当前坐标轴的范围[xmin xmax ymin ymax]
text(pos(1)+0.02,pos(4)-0.015,'b','FontSize',30,'color',subcol);
xlabel('Re(c)','FontSize',Fsize);
ylabel('Im(c)','FontSize',Fsize);
set(gca,'Box','off','FontSize',gcasize,'Fontname','Times New Roman');