第五章 MATLAB 的图形和可视化功能

第五章 MATLAB 的图形和可视化功能

MATLAB 中最常用的绘图函数为 plot

plot 的调用格式为:
plot(x, y) 其中 x 和 y 为坐标向量。

plot 颜色与线型参数
颜色:

  • y :黄色
  • m :紫色
  • c :青色
  • r :红色
  • g :绿色
  • b :蓝色
  • w :白色
  • k :黑色

线型:

  • . :点
  • :圆圈
  • x :叉号
  • +
  • *
  • - :实线
  • : :点线
  • -.:点划线
  • - :虚线

图形标记

设定坐标轴
axis 函数

  • axis([xmin xmax ymin ymax])
  • axis('auto') : 坐标系统返回自动缺省状态
  • axis('square') : 图形设置为方形
  • axis('equal') : 两个坐标因子设定成相等
  • axis('off') : 关闭坐标系统
  • axis('on') :

添加图例

subplot 函数,多幅图布局

hold 命令
若在已存在的图形窗口中用 plot 函数继续添加新的图形内容,可使用图形保持指令 hold 。发出 hold on 后,再执行 plot 函数,在保持原有图形的基础上添加新的绘制图形。hold off 关闭此功能。

函数 f(x) 曲线
绘制函数曲线的方法有很多,最常用的方法:对采样点向量 x 计算出 f(x) 的值向量,再用 plot(x, y) 函数绘制。
plot 函数一般采用等间隔采样,对绘制高频率变化的函数不够精确。
为提高精度,不能采用等步长采样,必须在变化率大的区域密集采用,以充分反映函数的实际变化规律,提高图形的真实度。
fplot 函数可自适应的对函数进行采样,更好地反映函数的变化规律。
函数格式:fplot(fname, lims, tol)

  • fname :函数名
  • lims :变量取值范围
  • tol :相对允许误差,默认2e-3

特殊坐标图形

  • 双对数坐标
  • 单对数坐标
  • 极坐标
  • 阶梯图形
  • 条形图形

二维绘图函数小结

  • plot
  • fplot
  • fill : 填充二维多变图形
  • polar : 极坐标图形
  • bar : 条形图
  • loglog
  • semilogx
  • semilogy
  • stairs
  • axis : 设置坐标轴
  • clf : 清除图形窗口内容
  • close
  • figure : 创建图形窗口
  • grid : 放置坐标网格线
  • gtext : 用鼠标放置文本
  • hold : 保持当前图形内容
  • subplot
  • text
  • title
  • xlabel
  • ylabel

三维图形
plot3 函数
mesh 函数:绘制三维网格图
surf 函数:三维曲面图


代码

%plot函数
x = 0:pi/100:2*pi;
y = sin(x);
plot(x, y)
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, x, y2)

%线型与颜色
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'k:', x, y2, 'b-')

%图形标记
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'k:', x, y2, 'b-')
 title('sine and cosine curves'); %标题
 xlabel('independent variable X');
 ylabel('dependent variable Y');
 text(2.8, 0.5, 'sin(x)');
 text(1.4, 0.3, 'cos(x)');
 
%设定坐标轴
x = linspace(0, 2*pi, 60);%生成含有60个数据元素的向量x
y = sin(x); 
plot(x, y);
axis([0, 2*pi, -1, 2]); %设定坐标范围

%添加图例
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'k:', x, y2, 'b-')
 title('sine and cosine curves'); %标题
 xlabel('independent variable X');
 ylabel('dependent variable Y');
 text(2.8, 0.5, 'sin(x)');
 text(1.4, 0.3, 'cos(x)');
 legend('sin(x)', 'cos(x)');

 
%subplot 函数
x = linspace(0, 2*pi, 60);
y = sin(x);
z = cos(x);
t = sin(x)./(cos(x)+eps);
ct = cos(x)./(sin(x)+eps);
subplot(2, 2, 1); %两行两列,第一个
plot(x, y);
title('sin(x)');
%axis([0, 2*pi, -1, 1]);
subplot(2,2,2);
plot(x, z);
title('cos(x)');
%axis([0, 2*pi, -1, 1]);
subplot(2, 2, 3);
plot(x, t);
title('tangent(x)');
%axis([0, 2*pi, -40, 40]);
subplot(2, 2, 4);
plot(x, ct);
title('cotangent(x)');
%axis([0, 2*pi, -40, 40]);

%hold命令
x = linspace(0, 2*pi, 60);
y = sin(x);
z = cos(x);
plot(x, y, 'b');
hold on;
plot(x, z, 'k:');
legend('sin(x)', 'cos(x)');
hold off

%函数f(x)曲线
fplot('sin(x)', [0 2*pi], 1e-3)
fplot('[sin(x), cos(x)]', [0 2*pi], 1e-3)
fplot(@fct, [0, 1])

%双对数坐标
x = 0:0.1:2*pi;
y = abs(1000*sin(4*x))+1
loglog(x, y);
%单对数坐标
x = 0:0.1:2*pi;
y = abs(1000*sin(4*x))+1
semilogx(x, y); %x轴为对数
semilogy(x, y); %
%极坐标图形
theta = 0:0.01:2*pi;
rho = sin(2*theta).*cos(2*theta);
polar(theta, rho);
title('polar plot');
%阶梯图形
x = -2.5:0.25:2.5;
y = exp(-x.*x);
stairs(x, y);
title('stairs plot');
%条形图形
x = -2.5:0.25:2.5;
y = exp(-x.*x);
bar(x, y);
title('bar plot');

%三维图形
t = 0:pi/50:10*pi;
y1 = sin(t); y2 = cos(t);
plot3(y1, y2, t)
title('helix'), text(0, 0, 0, 'origin');
xlabel('sin(t)'), ylabel('cos(t)'), zlabel('t');
grid;
%三维网格图
x = 0:0.15:2*pi;
y = 0:0.15:2*pi;
z = sin(y')*cos(x);
mesh(x, y, z)
title('三维网格图');
%三维曲面图
x = 0:0.15:2*pi;
y = 0:0.15:2*pi;
z = sin(y')*cos(x);
surf(x, y, z)
title('3-D surf');
%视点
p = peaks; %peaks为系统提供多峰函数
subplot(2, 2, 1);
mesh(peaks, p);
view(-37.5, 30); %指定图1的视点
title('azimuth=-37.5, elevation=30');
subplot(2,2,2);
mesh(peaks,p);
view(-17, 60) %
title('azimuth=-17, elevtation=60');
subplot(2, 2, 3);
mesh(peaks, p);
view(-90, 0);
title('azimuth=-90, elevation=0');
subplot(2, 2, 4);
mesh(peaks, p);
view(-7, -10);
title('azimuth=-7, elevation=10');
%等高线图
hold off 
[x, y, z] = peaks(30);
contour3(x, y, z, 16);
xlabel('X-axis'), ylabel('Y-axis'), zlabel('Z-axis');
title('等高线图');
第五章 MATLAB 的图形和可视化功能_第1张图片
plot-绘图.png
第五章 MATLAB 的图形和可视化功能_第2张图片
plot-线型与颜色.png
第五章 MATLAB 的图形和可视化功能_第3张图片
图形标记.png
第五章 MATLAB 的图形和可视化功能_第4张图片
设定坐标范围.png
第五章 MATLAB 的图形和可视化功能_第5张图片
添加图例.png
第五章 MATLAB 的图形和可视化功能_第6张图片
subplot函数.png
第五章 MATLAB 的图形和可视化功能_第7张图片
hold命令.png
第五章 MATLAB 的图形和可视化功能_第8张图片
fplot绘图.png
第五章 MATLAB 的图形和可视化功能_第9张图片
双对数坐标.png
第五章 MATLAB 的图形和可视化功能_第10张图片
单对数坐标x.png
第五章 MATLAB 的图形和可视化功能_第11张图片
单对数坐标y.png
第五章 MATLAB 的图形和可视化功能_第12张图片
极坐标.png
第五章 MATLAB 的图形和可视化功能_第13张图片
阶梯图形.png
第五章 MATLAB 的图形和可视化功能_第14张图片
条形图.png
第五章 MATLAB 的图形和可视化功能_第15张图片
三维图形.png
第五章 MATLAB 的图形和可视化功能_第16张图片
三维网格图.png
第五章 MATLAB 的图形和可视化功能_第17张图片
三维曲面图.png
第五章 MATLAB 的图形和可视化功能_第18张图片
视点对比.png
第五章 MATLAB 的图形和可视化功能_第19张图片
等高线图.png

你可能感兴趣的:(第五章 MATLAB 的图形和可视化功能)