第五章 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 的图形和可视化功能》 plot-绘图.png
《第五章 MATLAB 的图形和可视化功能》 plot-线型与颜色.png
《第五章 MATLAB 的图形和可视化功能》 图形标记.png
《第五章 MATLAB 的图形和可视化功能》 设定坐标范围.png
《第五章 MATLAB 的图形和可视化功能》 添加图例.png
《第五章 MATLAB 的图形和可视化功能》 subplot函数.png
《第五章 MATLAB 的图形和可视化功能》 hold命令.png
《第五章 MATLAB 的图形和可视化功能》 fplot绘图.png
《第五章 MATLAB 的图形和可视化功能》 双对数坐标.png
《第五章 MATLAB 的图形和可视化功能》 单对数坐标x.png
《第五章 MATLAB 的图形和可视化功能》 单对数坐标y.png
《第五章 MATLAB 的图形和可视化功能》 极坐标.png
《第五章 MATLAB 的图形和可视化功能》 阶梯图形.png
《第五章 MATLAB 的图形和可视化功能》 条形图.png
《第五章 MATLAB 的图形和可视化功能》 三维图形.png
《第五章 MATLAB 的图形和可视化功能》 三维网格图.png
《第五章 MATLAB 的图形和可视化功能》 三维曲面图.png
《第五章 MATLAB 的图形和可视化功能》 视点对比.png
《第五章 MATLAB 的图形和可视化功能》 等高线图.png

    原文作者:冯轩
    原文地址: https://www.jianshu.com/p/ee9da7884809
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞