二维数据曲线图
3.1.1 绘制单根二维曲线
plot函数
fplot函数
由于两者内容过多,会使文章较为冗长,所以,详情请见:matlab——plot函数大探索!这里有几乎关于plot的所有知识点
line函数
画出直线型的图
- line(x, y):以向量x和y的元素为坐标点绘制直线。
- line(x, y, z):以向量x、y和z的元素为坐标点绘制三维直线。
二维:
x=0:0.5:10;
y=sin(4*x);
figure
line(x,y)
三维:
x=0:0.5:10;
y=sin(x);
z=x.*y;
figure
line(x,y,z)
注意这个图形它是折线而不是平滑的曲线。
注意:刚画出来的时候是二维的,要使用“三维旋转按钮”来调整观察角度
3.1.2 绘制多根二维曲线
-
在MATLAB中绘制多个二维曲线主要有3种方式:
通过对多维数组进行图形绘制。
通过特殊的MATLAB函数进行图像绘制。
通过对多个绘图函数叠加得到多根二维曲线图。 -
ps:那么则么创建多维数组呢?常用的多维数组建立的方式有4种:
(1)利用下标建立多维数组。
(2)利用MATLAB函数产生多维数组。
(3)利用cat函数建立多维数组。
(4)用户自己编写M文件产生多维数组,即用户自己编写代码产生多维数组。
1、plot函数的输入参数是矩阵形式
2、含多个输入参数的plot函数
见matlab——plot函数大探索!这里有几乎关于plot的所有知识点
3、通过特殊的MATLAB函数进行图像绘制。
(1)具有两套纵坐标标度的图形
- plotyy(x1,y1,x2,y2):其中x1, y1对应一条曲线,x2, y2对应另一条曲线。左纵坐标对应x1,y1,右纵坐标对应x2,y2。
- plotyy(x1,y1,x2,y2, fun):左纵坐标利用函数fun将x1和y1数据对绘制成图形,右纵坐标利用函数fun将x2, y2数据对绘制成图形。
- plotyy(x1,y1,x2,y2, fun1, fun2):左纵坐标下,是使用函数fun1将x1和y1数据绘成曲线,右纵坐标下,是使用函数fun2将x2,y2数据绘成曲线。
ps:fun代表坐标系semilogy、loglog、plot等等。
% 生成横轴数据
x1=1:0.1:100;
x2=x1;
% 生成纵轴数据
y1=x1;
y2=x2.^3;
% 利用不同的函数绘图
figure
plotyy(x1,y1,x2,y2,@plot,@semilogy)%semilogy半对数坐标系
(2)contour函数
contour函数主要用来绘制曲面的等高线图,其调用方法如下:
- contour(z) :把矩阵z中的值作为一个二维函数的值,等高曲线在一个平面内,平面的高度v由MATLAB自动选取,绘制等高线。
- contour(x,y,z):(x,y)是平面z=0上点的坐标矩阵,z为相应点的高度值矩阵,绘制等高线。
- contour(z,n):画出矩阵z的n条等高线。
- contour(x,y,z,n):画出矩阵z的n条等高线。
- contour(z,v):在指定的高度v上画出等高线。
- contour3(x,y,z,n,选项) n代表的等高线的条数
等高线:
z = peaks(40);
figure
contour(z, 'k')
对应的三维图:
[x,y,z]= peaks(40);
figure
meshc(x,y,z);% 连接网格/等高线
三维等高线图:
[x,y,z] = peaks(40);
figure
contour3(x,y,z,40);
(3)clabel函数
- 在二维等高线图中添加高度标签。
- 在下列形式中,若有h出现,则会对标签进行恰当的旋转,否则标签会竖直放置,且在恰当的位置显示个一个“+”号。
- clabel(C, h) :把标签旋转到恰当的角度,再插入到等高线中。只有等高线之间有足够的空间时才加入,当然这决定于等高线的尺度。
- clabel(C, h, v) :在指定的高度v上显示标签h,当然要对标签做恰当的处理。
- clabel(C, h, ‘manual’) :手动设置标签。用户用鼠标左键或空格键在最接近指定的位置上放置标签,用键盘上的回车键结束该操作。当然会对标签做恰当的处理。
- clabel(C ):在从命令contour生成的等高线结构c的位置上添加标签。此时标签的放置的位置是随机的。
x = 0:0.1:pi;
y = 0:0.1:pi;
% 生成坐标系
[xx,yy] = meshgrid(y,x);
% 生成曲面
z =xx.*yy;
% 绘图,加标注
figure
[C, h] = contour(xx,yy,z);
clabel(C, h);
(4)contourc函数, 其调用格式如下:
- C = contourc(z) :从矩阵z中计算等高矩阵,其中z的维数至少为2*2阶,等高线为矩阵z中数值相等的单元。等高线的数目和相应的高度值是自动选择的。
- C = contourc(z, n): 在矩阵z中计算出n个高度的等高线。
- C = contour(z, v) : 在矩阵z中计算出给定高度向量v上计算等高线,当然向量v的维数决定了等高线的数目。若只要计算一条高度为a的等高线,输入:contourc(Z,[a,a])。
- C = contourc(x, y, z): 在矩阵z中,参量x,y确定的坐标轴范围内计算等高线。
- ==C = contourc(x, y, z, n) ==从矩阵z中,参量x与y确定的坐标范围内画出n条等高线。
- C = contourc(x, y, z, v) 从矩阵z中,参量x与y确定的坐标范围内,画在v指定的高度上指定的等高线。