figure表示新建一个图窗口,以免后续的绘图语句覆盖原图;hold on表示在原图的基础上绘制新的图像
参考代码
clc
clear all
close all
tic
n = 10; % 数据点数
x = 1:n; % 横坐标
y1 = randi(10, 1, n); % 纵坐标
y2 = randi(10, 1, n); % 纵坐标
figure
plot(x, y1);
figure % 想要看hold on的效果,请将改行注释掉,并取消下一行的注释
% hold on
plot(x, y2, 'r');
toc
用figure的效果图:生成两张图
用hold on的效果:两条曲线画在一张图上
2. meshgrid用来生成网格矩阵,简单地讲,就是把给定的x和y中元素的两两组合都生成出来,这样每一对(x,y)再计算一个对应的z,显然这样得到的是一个z的曲面。但该语句不是必须的,有时候我们只想获得一条三维曲线而已,并不想知道所有x, y元素两两组合的结果是什么,组合我们已经定义好了
参考代码:
clc
clear all
close all
tic
n = 10;
x = 1:n; % x坐标
y = 1:n; % y坐标
%%
% meshgrid演示
[X, Y] = meshgrid(x, y); % meshgrid 函数用来生成网格矩阵
Z = X.^2 + Y;
figure
mesh(X, Y, Z);
grid on
xlabel('x');
ylabel('y');
zlabel('z');
%%
% 不用meshgrid的情况
z = x.^2 + y;
figure
% mesh(x, y, z); % 没有meshgrid生成底面矩阵时,该句出错
plot3(x, y, z); % 一组(x, y)对应一个z值,因此x和y元素个数必须一致
grid on
xlabel('x');
ylabel('y');
zlabel('z');
toc
效果图
参考资料: