Matlab仿真技术

乔世坤

目录

  • 1 实验一Matlab基础与入门
    • 1.1 Matlab简介
    • 1.2 变量与数值
    • 1.3 矩阵运算
    • 1.4 数组运算
    • 1.5 常用数学函数
    • 1.6 Matlab帮助系统
    • 1.7 实验内容
    • 1.8 思考题
  • 2 实验二 Matlab程序设计基础
    • 2.1 M文件
    • 2.2 Matlab程序流控制
    • 2.3 实验内容
    • 2.4 思考题
  • 3 实验三Matlab图形绘制
    • 3.1 二维曲线的绘制
    • 3.2 三维曲线的绘制
    • 3.3 实验内容
    • 3.4 思考题
  • 4 MATLAB数值计算与符号运算
    • 4.1 线性代数中的应用
    • 4.2 多项式运算
    • 4.3 数据分析与统计
    • 4.4 功能函数
    • 4.5 常微分方程的数值求值
    • 4.6 符号运算
    • 4.7 Matlab数值计算部分实验题
    • 4.8 Matlab符号运算部分实验题
    • 4.9 Matlab程序设计部分实验题
    • 4.10 思考题
  • 5 Simulink仿真基础
    • 5.1 Simulink概述
    • 5.2 Simulink建模与仿真
    • 5.3 子系统及其封装技术
    • 5.4 SIMULINK模块库简介
    • 5.5 Simulink仿真基础实验题
    • 5.6 Simulink仿真应用实验题
    • 5.7 思考题
  • 6 Matlab在电路分析中的应用
    • 6.1 Matlab在电路中的仿真应用
    • 6.2 数字逻辑电路仿真
    • 6.3 实验内容
    • 6.4 思考题
  • 7 MATLAB在信号与系统中的应用
    • 7.1 连续时间信号及其表示
    • 7.2 线性时不变系统
    • 7.3 线性时不变系统的时域分析
    • 7.4 线性时不变系统的频域分析
    • 7.5 实验内容
    • 7.6 思考题
  • 8 Matlab在数字信号处理中的应用
    • 8.1 信号的表示与信号的基本运算
    • 8.2 实验内容
    • 8.3 思考题
  • 9 MATLAB在通信原理中的应用
    • 9.1 脉冲编码调制仿真
    • 9.2 实验内容
三维曲线的绘制
  • 1 文档
  • 2 视频
  • 3 PPT


3.2 三维图形的绘制

3.2.1绘制三维图形

plot3用来绘制三维曲线,与二维绘图plot命令相似。其基本格式

plot3(x,y,z)

说明:当xyz是同维向量时,则绘制以xyz元素为坐标的三维曲线,当xyz是同维矩阵时,则绘制曲线的条数等于矩阵的列数。

[3-5] 三维曲线绘图。

t =0:pi/50:10*pi;

plot3(sin(t), cos(t),t)

输出结果如图3-9所示。

3-9 三维曲线(螺旋线)

3.2.2绘制三维网线图和曲面图

1meshgrid函数

为了绘制三维立体图形,Matlabx方向划分为m份,将y方向划分为n份,由划分点分别作平行于两坐标轴的直线,形成n×m个网格,然后计算出各网格点对应函数f(x,y)的值。meshgrid函数的功能就是按指定方式创建网格矩阵。其基本格式为:

[X,Y] = meshgrid(xgv,ygv)

说明:以等长度向量xgvygv为基准,产生二维网格数据。

例如

>>a=0:4;b=a;

>> [X,Y] =meshgrid(a,b)

X =

     0    1     2     3    4

     0    1     2     3    4

     0    1     2     3    4

     0    1     2     3    4

     0     1    2     3     4

Y =

     0    0     0     0    0

     1    1     1     1    1

     2    2     2     2    2

     3    3     3     3    3

     4    4     4     4    4

2. 三维网线图形

Matlab提供了mesh函数绘制三维网线图形,其基本格式为:

mesh(x,y,z,c)

mesh(x,y,z)

mesh(z,c)

mesh(z)

说明:在xy确定的区域内绘制z的网格图,最一般应用时,xyz是维数相同的矩阵,c用于指定不同高度下的颜色范围。c省略时,默认c=z,表示颜色正比于图形的高度。当xy省略时,把z矩阵的列下标作为x轴坐标,z矩阵的行下标作为y轴坐标,绘制三维曲面图,当xy是向量时,要求x的长度必须等于z矩阵的列数,y的长度等于z矩阵的行数。

Matlab还提供了有meshz函数与meshc函数,meshz函数为网线图加幕帘线,meshc函数为网线图加等高线,格式与mesh函数相似。

[3-6] 应用mesh绘制网线图。

[x,y] =meshgrid(-8:.5:8);

R = sqrt(x.^2 + y.^2)+ eps;

z=sin(R)./R;

figure(1);mesh(x,y,z)

figure(2);

meshc(z);

输出结果如图3-103-11所示。

3-10 mesh函数绘制三维网线图形图      3-11meshc函数绘制三维网线图形

3. 三维曲面图形

Matlab提供了surf函数绘制三维网线图形,其基本格式为:

surf(x,y,z,c)

surf (x,y,z)

surf (z,c)

surf (z)

说明:surf函数用于绘制三维曲面图,且各线条之间的补面用颜色填充。参数使用类似mesh函数。

[3-7]应用surf绘制peaks函数的曲面图。

[x,y] =meshgrid(-3:.125:3);

z=peaks(x,y);

surf(x,y,z);

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

输出结果如图3-12所示。


3-12 surf函数绘制三维曲面图形

Matlab还提供了函数surfc,在函数surf绘制的三维图形基础上再绘出等高线。

4. 视角

视角就是指观察图形的方向,Matlab中利用函数view来指定立体图形的观察点,控制图形的视角。其主要格式有

view(az,el)

view([x,y,z])

view(2)

view(3)

说明:az是方位角,是通过视点和z轴所做平面与yoz平面所夹的角度。el为仰角,是用直线连接视点与坐标原点,该直线与xoy平面的夹角。设置“[x,y,z]”,表示设置视点。view(2)设置缺省的二维视点,az=0el=90view(3) 设置缺省的三维视点,az=-37.50el=30

例如:将上例的peaks函数图形的方位角改为10°时,结果如图3-13所示。

3-13 az=10el=30时的视图