Matlab常用命令
由于工作中需要作图,虽然我本人不喜欢被美国限制,但是工作中难免会遇到Matlab
代码,这是一个让人头疼的问题。所以开本博客记录一些常用的Matlab
代码及设置,以供工作中参考,但是若大家作图请使用Octave
,使用开源的软件可以避免被限制。未列出的命令请参考Matlab文档,为了使用方便本文仅列出相关命令。
去除边框
命令 | 解释 |
---|---|
box off | 去除上、右边框刻度 |
set(gca, 'Box','off'); | 去除上、右边框 |
set(gca,'Visible','off'); | 移除坐标轴边框 |
set(gcf,'color','w'); | 设置背景为白色 |
作图举例
2023年04月30日星期日晴北京市北京师范大学由于论文的需要,编辑要我重新按他的要求作图,但是之前没有说,挺心烦的。修改好之后,附上我作图的命令,以参考。
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');