分类:

  • 离散数据图形绘制
  • 函数图形绘制
  • 网格图形绘制
  • 曲面图形绘制
  • 特殊图形绘制

本文重点介绍matlab五种图形绘制方法的后三种。

一、网格图形绘制

以绘制函数z=f(x,y)三维网格图为例,下面为绘制步骤:

  1. 确定自变量x和y的取值范围和取值间隔

    x = x1:dx:x2; y = y1:dy:y2;

  2.构成xoy平面上的自变量采样格点矩阵

    1)  利用“格点”矩阵生成原理生成矩阵

      X = ones(size(y))*x; Y = y*ones(size(x));

    2)  利用meshgrid命令生成“格点”矩阵

      [X,Y] = meshgrid(x,y);

  3.计算在自变量采样“格点”上的函数值

    1)  mesh(X,Y,X)

    2)  mesh(Z)

    3)  mesh(X,Y,Z,C)

    4)  mesh(X,Y,Z,’PropertyName’,PropertyValue,...)

实例:绘制的图像,并作定义域的裁剪。

clear,clf,

a = -;b = ;c = -;d = ;n = ;eps1 = 0.01;

x = linspace(a,b,n);y = linspace(c,d,n);

[X,Y] = meshgrid(x,y);

% 计算函数值z,并做函数的定义域剪裁

for i = :n

    for j = :n

        if(-X(i,j))<eps1 || X(i,j) - Y(i,j) < eps1

            Z(i,j) = NaN;

        else

            Z(i,j) = *sqrt( - X(i,j))^-.*log(X(i,j)-Y(i,j));

        end

    end

end

% 画定义域边界线

zz = -*ones(,n);plot3(x,x,zz),grid on,hold on

mesh(X,Y,Z)

view([-56.5 ]);

xlabel('x'),ylabel('y'),zlabel('z'),box on

结果:

二、曲面图形绘制

曲面图形的绘制使用surf函数完成,与mesh函数类似。

surf函数使用方式:

  1)surf(X,Y,X)

  2)surf(Z)

  3)surf(X,Y,Z,C)

  4)surf(X,Y,Z,’PropertyName’,PropertyValue,...)

实例:绘制圆锥体曲面。

clc,clear,close all

X = -::;

Y = -::;

[X,Y] = meshgrid(X,Y);

Z = sqrt(X.^ + Y.^);

surf(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

box on

axis tight

colormap(lines)

shading interp

set(gca,'Ydir','reverse');

set(gcf,'color','w');

结果:

 三、特殊图形绘制

Matlab对于不同的三维曲面的绘制提供了不同的画图函数,如slice切片函数、quiver3三维箭头标记函数、sphere等。下面以绘制空间曲线及其运动为例抛砖引玉:

已知空间曲线的方程为:

%   空间曲线的绘制

clc,clear,close all

t = :0.1:1.5;     % 设置运动时间

% 给定曲线方程

x = t.^;

y = (/)*t.^;

z = (/)*t.^-(/)*t.^;

plot3(x,y,x,'r.-'),hold on,grid on

% 计算各方向梯度

Vx = gradient(x);

Vy = gradient(y);

Vz = gradient(z);

% 绘制速度矢量图

quiver3(x,y,z,Vx,Vy,Vz);

xlabel('x')

ylabel('y')

zlabel('z')

结果:

欢迎探讨。

最新文章

  1. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十八】
  2. Effective STL中文版 译序
  3. SwitchyOmega
  4. 使用Ninject来解决程序中组件的耦合问题
  5. javascript complete, onload
  6. salvage 数据块打捞工具
  7. IPVS
  8. Oracle将英文字符集数据转换成中文
  9. 纯JS写出日历
  10. linux 命令入门
  11. 参照openRTSP写的一个RTSP client 加了一些注解
  12. Android GPS应用:临近警告
  13. openGL线s的绘制
  14. 【struts2】ActionContext与ServletActionContext
  15. react native 升级到0.31.0的相关问题 mac Android Studio开发环境
  16. year:2017 month:08 day:04
  17. lombok使用
  18. Vue(五)Vue规范
  19. Python库 - Albumentations 图片数据增强库
  20. Symbol Table Applications

热门文章

  1. 【C语言天天练(二三)】errno变量
  2. Silverlight实例教程 - Validation数据验证基础属性和事件(转载)
  3. Atitit.编程语言and&#160;自然语言的比较and&#160;编程语言未来的发展
  4. atitit.编程语言&#160;类与对象的&#160;扩展机制.doc
  5. websocket echo test
  6. 【转】jQuery.extend 函数详解
  7. Anaconda+Tensorflow环境安装与配置(转载)
  8. 在python中Flask配置服务
  9. java 调用cmd命令
  10. Spring MVC多动作控制器