MATLAB正月点灯笼老师课程笔记:第三课:画图

用MATLAB画图:

x = [1 2 3];
y = [4 5 6];
plot(x, y)

绘制结果:
MATLAB正月点灯笼老师课程笔记:第三课:画图_第1张图片表示将(1,4)(2,5)(3,6)连线

x = -3:3;  % 表示一个从-33 的向量(数组)
y = x .* x; % .* 表示数组 x 中对应位元素相乘 
% 也可以用 y = x .^ 2; 代替(还是要加点)

若觉得曲线不够平滑,也可以设置步长 -3:0.1:3
还可以设置颜色

>> x = -3 : 0.1 : 3;
>> y1 = x .^ 2;
>> y2 = x .^ 3;
>> plot(x, y1, 'green', x, y2, 'black')

MATLAB正月点灯笼老师课程笔记:第三课:画图_第2张图片

plot(x, y1, 'green-o')
 % - 表示用直线连接;o 表示在关键点上用圆圈标识出来

MATLAB正月点灯笼老师课程笔记:第三课:画图_第3张图片

axis equal
% 执行此命令后,会将图形的横纵坐标轴变为标度长度相同

这样得出的抛物线更接近真实的抛物线
MATLAB正月点灯笼老师课程笔记:第三课:画图_第4张图片
绘制直方图:

>> y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
>> bar(y)

MATLAB正月点灯笼老师课程笔记:第三课:画图_第5张图片若要设置 x 轴的标度:

>> x = 2000:2010;
>> bar(x, y)

MATLAB正月点灯笼老师课程笔记:第三课:画图_第6张图片
三维图形的画法

>> theta = 0 : pi/50 : 6*pi;   % 期待中的图形是螺旋环绕向上三圈的
>> x = cos(theta);
>> y = sin(theta);
>> z = 0 : 300;  % 因为前面的 x 和 y 可以通过变量区看到是301个值
>> plot3(x, y, z)   % plot3 表示绘制三维图形

MATLAB正月点灯笼老师课程笔记:第三课:画图_第7张图片
要同时在一个绘制区显示输出两个图像:用 hold on

x = -5 : 0.1 : 5;
y = x .^2;
plot(x, y);

hold on;

x2 = -5:0.1:5;
y2 = x2 .^3;
plot(x2, y2);

MATLAB正月点灯笼老师课程笔记:第三课:画图_第8张图片
需要显示背景网格: grid on

x = -5 : 0.1 : 5;
y = x .^2;
plot(x, y);

hold on;

x2 = -5:0.1:5;
y2 = x2 .^3;
plot(x2, y2);

grid on;

MATLAB正月点灯笼老师课程笔记:第三课:画图_第9张图片
给函数图像加标题:

title('x^2 vs x^3');

在 x 轴和 y 轴上加标签:

xlabel('x-axis');
ylabel('y-axis');

在同一个窗口上画多个图像:

subplot(2,3,1);  %表示将整个窗口分成2行,每行3个图,在第一个图的位置作画
% 此时总共有6个图可以画    前面两个变量表示行和列

例:

x = -4:0.1:4;

y1=sin(x);
y2=sin(2.*x);
y3=sin(3.*x);
y4=sin(4.*x);

subplot(2,2,1);
plot(x, y1);
subplot(2,2,2);
plot(x, y2);
subplot(2,2,3);
plot(x, y3);
subplot(2,2,4);
plot(x, y4);

MATLAB正月点灯笼老师课程笔记:第三课:画图_第10张图片
分别给四个图加标题:

subplot(2,2,1);
plot(x, y1);
title('y = sin(x)');

subplot(2,2,2);
plot(x, y2);
title('y = sin(2x)');

subplot(2,2,3);
plot(x, y3);
title('y = sin(3x)');

subplot(2,2,4);
plot(x, y4);
title('y = sin(4x)');

将整个图形区域分成3块,第一行2个图,第二行在中间1个图:subplot(2,2,[3,4]);

subplot(2,2,[3,4]); % 表示这个图同时占了34 两个位置
plot(x, y3);
title('y = cos(4x)');

MATLAB正月点灯笼老师课程笔记:第三课:画图_第11张图片
三维曲面的绘制:surf(x, y, z) surface 的缩写

x = -3 : 3;
 y = -3 : 3;
 [X, Y] = meshgrid(x, y);  % meshgrid:生成绘制3D图形所需的网格数据

X和Y分别为:
X =

-3    -2    -1     0     1     2     3
-3    -2    -1     0     1     2     3
-3    -2    -1     0     1     2     3
-3    -2    -1     0     1     2     3
-3    -2    -1     0     1     2     3
-3    -2    -1     0     1     2     3
-3    -2    -1     0     1     2     3

Y =

-3    -3    -3    -3    -3    -3    -3
-2    -2    -2    -2    -2    -2    -2
-1    -1    -1    -1    -1    -1    -1
 0     0     0     0     0     0     0
 1     1     1     1     1     1     1
 2     2     2     2     2     2     2
 3     3     3     3     3     3     3
Z = X .^2 + Y .^2;
surf(X,Y,Z);
% 此时便可画出x^2+y^23D图形

MATLAB正月点灯笼老师课程笔记:第三课:画图_第12张图片

你可能感兴趣的:(matlab)