Matlab作图

二维作图

plot

plot.png

简单控制语句

简单控制语句.png

sin(x) & cos(x)

1
2
3
4
5
6
7
8
9
10
x = -2 * pi : 0.1 : 2*pi; % 切片
y1 = sin(x);
y2 = cos(x);
plot(x, y1,'-b'); % - 实线 b 蓝色
hold on % 保持当前画的图形不被覆盖掉
plot(x, y2, '-r'); % - 实线 r 红色
xlabel('x'); % x轴上加标签
ylabel('y'); % y轴上加标签
text(0, 0, '(0,0)'); % 在(0,0)加文本
legend('sin x', 'cos x'); % 图例

sinx&cosx.png

two hearts

1
2
3
4
5
6
7
8
9
10
t = 0 : pi/180 : 4*pi; %  切片
x = 16*sin(t).^3; % x,y用参数为t的方程表示
y = 13*cos(t) - 5*cos(2*t)... % 本行未结束
-2*cos(3*t) - cos(4*t);
plot(x-3, y, '-r', x+3, y, '-b');
xlabel('x'); % x轴上加标签
ylabel('y'); % y轴上加标签
axis([-20, 20, -20, 15]); % 坐标范围:x [-20,20] y [-20,15]
title('Two Hearts'); % 标题
legend('U', 'I'); % 图例

twoHearts.png

对数坐标

loglog,双对数坐标。

semilogx,只有x是对数。

1
2
3
4
5
6
7
8
x = 10*2.^[0:6];
y = [100 150 225 340 ...
510 765 1150];
loglog(x, y, '.-r'); % 点实线 红色
xlim([0.5e1, 0.8e3]); % x坐标范围
ylim([0.8e2, 1.4e3]); % y坐标范围
xlabel('x');
ylabel('y');

对数坐标.png

极坐标

polar

1
2
3
theta = 0 : pi/180 : 4*pi; % 角度
r = 1- sin(theta); % 长度
polar(theta, r, '-r'); % 实线 红色

极坐标.png

三维作图

plot3

1
2
3
4
5
6
7
8
9
10
t = 0 : pi/50 : 10*pi; % 2pi是一圈 10pi转5圈 
x = sin(t);
y = cos(t);
z = t;
plot3(x, y, z); % 3维
title('Helix');
xlabel('sin t');
ylabel('cos t');
zlabel('t');
grid on % 打开网格

Helix.png

三维曲面

meshgrid,生成绘制3D图形所需的网格数据。

[x, y]=meshgrid(1:3, 1:3)

meshsurf

1
2
3
4
5
6
7
8
[x, y] = meshgrid(-pi:0.1:pi); % 生成数据
z = sin(x) .* cos(y);
mesh(x, y, z); % 作图
surf(x, y, z); % 使有颜色
xlabel('x');
ylabel('y');
zlabel('z');
title('sin x sin y');

三维曲面.png

作者:@臭咸鱼

本文为作者原创,转载请注明出处:https://chouxianyu.github.io

欢迎讨论和交流!