matlab学习笔记之五种常见的图形绘制功能
分类:
- 离散数据图形绘制
- 函数图形绘制
- 网格图形绘制
- 曲面图形绘制
- 特殊图形绘制
本文重点介绍matlab五种图形绘制方法的后三种。
一、网格图形绘制
以绘制函数z=f(x,y)三维网格图为例,下面为绘制步骤:
- 确定自变量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学习笔记之五种常见的图形绘制功能的更多相关文章
- Matlab学习笔记(一)—— 三维图形绘制
这学期公选课选的是MATLAB,所以准备把这学期所学习的整理到博客上,作为记录,哇咔咔~ 一.三维函数图: x=cos(t), y=sin(t), z=t %≤t ≤*pi t=:*pi; %t的取值 ...
- matlab学习笔记8 基本绘图命令-图形窗口简介
一起来学matlab-matlab学习笔记8 基本绘图命令_1 图形窗口简介 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等 ...
- RabbitMQ学习笔记之五种模式及消息确认机制
本文详细介绍简单模式Simple.工作模式Work.发布订阅模式Publish/Subscribe.Topic.Routing. Maven依赖引用 <dependencies> < ...
- OpenGL学习笔记 之一 (基本的图形绘制)
参考网址:http://www.cnblogs.com/FredCong/archive/2012/10/13/2722893.html #include <glut.h> #includ ...
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- IOS学习笔记48--一些常见的IOS知识点+面试题
IOS学习笔记48--一些常见的IOS知识点+面试题 1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memor ...
- 【数学建模】MATLAB学习笔记——函数式文件
MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
随机推荐
- 用Jmeter测试RabbitMQ
1.下载AMQP插件 github上面有源码,可以通过ant+ivy在本地进行打包(下载IDEA实践成功) https://github.com/jlavallee/JMeter-Rabbit-AMQ ...
- python 分支结构
if 语句 if语句 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if ag ...
- 基于AFNetworking的网络判断【原创】
首先导入AFNetworking第三方框架,然后将下面的.h和.m放在你新建的类中便可 GGNetworkJudge.h 在最后会有Singleton.h头文件代码 #import <Fou ...
- 常用校验算法CRC、MD5、SHA_转
1.算法概述 数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名.数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密.数据摘要算法也被称为哈希(H ...
- NTP协议
NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步.NTP基于UDP报文进行传输,使用的UDP端口 ...
- IOS项目开发中的文件和文件夹操作
+ (NSFileManager *)getNSFileManager { // iNSFileManager是一个静态变量 if (!iNSFileManager) { iNSFileManager ...
- Android-Dialog风格Activity开发
1.设置窗口风格 : ①在Manifest中设置主题属性android:theme="@android:style/Theme.Dialog",或者 Theme.Holo.Dial ...
- Discuz! X 插件开发手册
文件命名规范 Discuz! 按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范: 可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名. 被普通程序文件引用的程序文件, ...
- svn备份一般采用三种方式
http://www.cnblogs.com/itech/archive/2011/10/11/2206988.html 备份策略 ============== svn备份一般采用三种方式:1)svn ...
- Hibernate一对多映射列表实例(使用xml文件)
如果持久化类具有包含实体引用的列表(List)对象,则需要使用一对多关联来映射列表元素. 在这里,我们使用论坛应用场景,在论坛中一个问题有多个答案. 在这种情况下,一个问题可以有多个答案,每个答案可能 ...