分类:

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

本文重点介绍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')

结果:

欢迎探讨。

matlab学习笔记之五种常见的图形绘制功能的更多相关文章

  1. Matlab学习笔记(一)—— 三维图形绘制

    这学期公选课选的是MATLAB,所以准备把这学期所学习的整理到博客上,作为记录,哇咔咔~ 一.三维函数图: x=cos(t), y=sin(t), z=t %≤t ≤*pi t=:*pi; %t的取值 ...

  2. matlab学习笔记8 基本绘图命令-图形窗口简介

    一起来学matlab-matlab学习笔记8 基本绘图命令_1 图形窗口简介 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等 ...

  3. RabbitMQ学习笔记之五种模式及消息确认机制

    本文详细介绍简单模式Simple.工作模式Work.发布订阅模式Publish/Subscribe.Topic.Routing. Maven依赖引用 <dependencies> < ...

  4. OpenGL学习笔记 之一 (基本的图形绘制)

    参考网址:http://www.cnblogs.com/FredCong/archive/2012/10/13/2722893.html #include <glut.h> #includ ...

  5. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  6. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  7. IOS学习笔记48--一些常见的IOS知识点+面试题

      IOS学习笔记48--一些常见的IOS知识点+面试题   1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memor ...

  8. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

  9. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

随机推荐

  1. 常用sql语句记录

    1.表 --建表 if OBJECT_ID('Student') is not null create table Student( ID ,) not null, Name ), Code ), f ...

  2. Atitit。Tree文件解析器的原理流程与设计实现  java  c# php js

    Atitit.Tree文件解析器的原理流程与设计实现  java  c# php js 1. 解析原理与流程1 1.1. 判断目录  ,表示服  dirFlagChar = "└├─&quo ...

  3. CSS3 :nth-child()伪类选择器

    CSS3 :nth-child()伪类选择器 CSS3的强大,让人惊叹,人们在惊喜之余,又不得不为其艰难的道路感到可惜:好 的标准只有得到行业浏览器的良好支持才算得上“标准”.CSS3标 准已提出数年 ...

  4. jquery的post()

    jQuery ajax - post() 方法 jQuery Ajax 参考手册 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); TIY ...

  5. c++ what happens when a constructor throws an exception and leaves the object in an inconsistent state?

    为什么会想到这个问题?因为我总是不自觉地将c++和java进行对比.java对这种情况的处理方式是constructor返回一个null,然后已经构造的objects交给Garbage Collect ...

  6. 华为终端-新浪微博联合创新,3D建模+AR 成就全新社交体验

    近日,全球首款搭载3D感知摄像头的手机华为Mate 20发布. 通过Mate 20自带的景深摄像头及麒麟980的NPU加速能力,手机能够在获取物体表面信息后,完成高速的精细化3D建模. 那么,如何让3 ...

  7. 程序的记事本--log4net

    你是否在遇到程序执行问题时常常百度?你是否在遇到执行错误时常常去询问别人?假设有那么是时候改变啦,对于一个Developer来说那是不专业的表现,专业的Developer都会首先查看程序的执行日志.先 ...

  8. java.lang.IllegalArgumentException: column '_id' does not exist问题的解决方案

    我在使用SimpleCursorAdapter的过程中遇到了问题: java.lang.IllegalArgumentException: column '_id' does not exist 这个 ...

  9. web开发之php--- mvc 模式

    http://www.cnblogs.com/archy_yu/p/4229929.html

  10. vivo 手机的USB调试功能