原文地址:MATLAB 学习笔记outline2作者:hzlzc08
第四章 MATLAB绘图
matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化
1.matlab的绘图功能
不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。
matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄绘图方法。
在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。
2.二位绘图
<1>.plot —— 最基本的二维图形指令
plot的功能:
plot命令自动打开一个图形窗口Figure
square 正方形
diamond 菱形
pentagram 五角星
hexagram 六角星
多窗口绘图
figure(n) —— 创建窗口函数,n为窗
口顺序号。
t=0:pi/100:2*pi;
y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);
plot(t,y) —— 自动出现第一个窗口
figure(2)
plot(t,y1) —— 在第二窗口绘图
figure(3)
plot(t,y2) ——在第三窗口绘图
<2>.fplot----绘制函数图函数
fplot的调用格式:
fplot(fun,lims) — 绘制函数fun在x区间 lims=[xmin xmax]的函数图。
fplot(fun,lims,'corline') — 以指定线形绘图。
[x,y]=fplot(fun,lims) — 只返回绘图点的值,而不绘图。用plot(x,y)来绘图。
<3>.ezplot----符号函数的简易绘图函数
ezplot的调用格式:
ezplot(f) —这里f为包含单个符号变量x的符号表达式,在x轴的默认范围
[-2*pi 2*pi]内绘制f(x)的函数图
ezplot(f,xmin,xmax) — 给定区间
ezplot(f,[xmin,xmax],figure(n)) — 指定绘图窗口绘图。
<4>.fill-----基本二维绘图函数
<5>.特殊二维绘图函数
bar –––– 绘制直方图
polar –––– 绘制极坐标图
hist –––– 绘制统计直方图
stairs –––– 绘制阶梯图
stem –––– 绘制火柴杆图
rose –––– 绘制统计扇形图
comet –––– 绘制彗星曲线
errorbar –––– 绘制误差棒图
compass –––– 复数向量图(罗盘图)
feather –––– 复数向量投影图(羽毛图)
quiver –––– 向量场图
area –––– 区域图
pie –––– 饼图
convhull –––– 凸壳图
scatter –––– 离散点图
3.三维绘图
三维绘图的主要功能:
绘制三维线图
绘制等高线图
绘制伪彩色图
绘制三维网线图
绘制三维曲面图、柱面图和球面图
绘制三维多面体并填充颜色
<1>.plot3 —— 基本的三维图形指令
<2>.三维多边形
fill3 = fill —— 三维多边形的绘制和填色与二维多边形完全相同
调用格式: fill3(x,y,z,‘s’) —— 与二维相同
<3>.三维网格图
mesh —— 三维网线绘图函数
<4>.三维曲面图
surf —— 三维曲面绘图函数,与网格图看起来一样
与三维网线图的区别:
网线图:线条有颜色,空挡是黑色的(无颜色)
曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化
4.图形修饰方法
matlab 的色图函数:
hsv —— 饱和值色图
gray —— 线性灰度色图
hot —— 暖色色图
cool —— 冷色色图
bone —— 兰色调灰色图
copper —— 铜色色图
pink —— 粉红色图
prism —— 光谱色图
jet ——饱和值色图II
flag —— 红、白、蓝交替色图
图形效果修饰:
透视与消隐—— 用于网线图
裁剪修饰 ——用于网线图、曲面图
视角修饰 —— 观察不同角度的三维视图
其它修饰:
a. 水线修饰
b. 等高线修饰
5.伪彩色图
pcolor —— 常用于以二维平面图表现三维图形的效果,用颜色表示三维图形的高度。
6.动画效果
动画生成的步骤
创建帧矩阵 ————— moviein
对动画中的每一帧生成图形,并把它们放到帧矩阵中 ———— getframe
从帧矩阵中回放动画
7.小 结
基本绘图函数
plot, plot3, mesh, surf
要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定
第五章 matlab句柄绘图
matlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础。
1.
高层绘图函数——是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的,充分体现了matlab语言的实用性。
底层绘图函数——可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。充分体现了matlab语言的开发性
2.句柄图形:利用底层绘图函数,通过对对象属性的设置(Handle Graphics)与操作实现绘图。
句柄图形中所有图形操作都是针对图形对象而言的。
句柄图形充分体现了面向对象的程序设计。
3.句柄图形的功能
句柄图形可以随意改变matlab生成图形的方式。
句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。
句柄图形的特性高层绘图函数是无法实现的
根:图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代。
图形窗口: 根的子代,窗口的数目不限,所有图形窗口都是根屏幕的子代,除根之外,其它对象则是窗的后代。
界面控制:图形窗口的子代,创建用户界面控制对象,使得用户可采用鼠标在图形上作功能选择,并返回句柄。
界面菜单: 图形窗口的子代,创建用户界面菜单对象
轴:图形窗口的子代,创建轴对象,并返回句柄,线面字块像的父辈
线:轴的子代,创建线对象
面:轴的子代,创建块对象
字:轴的子代,创建字对象
块:轴的子代,创建块对象
像:轴的子代,创建图像对象
*****************************************************************************************************
datail省略。。。
*****************************************************************************************************
4.小 结
熟悉图形对象句柄与句柄操作
掌握图形对象属性的查询与操作
能够任意设置图形对象的属性
第六章 matlab工具箱
matlab工具箱已经成为一个系列产品,matlab主工具箱和各种工具箱(toolbox )。
1.功能型工具箱 —— 通用型
功能型工具箱主要用来扩充matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。
2.领域型工具箱 —— 专用型
领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱( Control System Toolbox);信号处理工具箱(Signal Processing Toolbox);财政金融工具箱( Financial Toolbox)等等。只适用于本专业。
3.MatLab常用工具箱
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系统工具箱
Communication Toolbox——通讯工具箱
Financial Toolbox——财政金融工具箱
System Identification Toolbox——系统辨识工具箱
Fuzzy Logic Toolbox——模糊逻辑工具箱
Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱
Image Processing Toolbox——图象处理工具箱
LMI Control Toolbox——线性矩阵不等式工具箱
Model predictive Control Toolbox——模型预测控制工具箱
μ-Analysis and Synthesis Toolbox——μ分析工具箱
Neural Network Toolbox——神经网络工具箱
Optimization Toolbox——优化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——鲁棒控制工具箱
Signal Processing Toolbox——信号处理工具箱
Spline Toolbox——样条工具箱
Statistics Toolbox——统计工具箱
Symbolic Math Toolbox——符号数学工具箱
Simulink Toolbox——动态仿真工具箱
System Identification Toolbox——系统辨识工具箱
Wavele Toolbox——小波工具箱
等等
4.matlab主工具箱共有21个函数库(现在不一定是了)
datafun —— 数据分析函数库
sonnds —— 声音处理函数库
dde —— 动态数据交换函数库
elfun —— 初等数学函数库
specmat —— 特殊矩阵函数库
elmat —— 初等矩阵和时间函数库
funfun —— 函数功能和数学分析函数库
general —— 通用命令函数库
graphics —— 通用图形函数库
iofun —— 底层输入输出函数库
lang —— 语言结构函数库
matfun —— 矩阵线性代数函数库
ops —— 运算符和逻辑函数库
plotxy —— 二维绘图函数库
plotxyz —— 三维绘图函数库
color —— 颜色和光照函数库
polyfun —— 多项式函数库
sparfun —— 稀疏矩阵函数库
strfun —— 字符串函数库
demos —— matlab演示函数库
matlab6新增函数库:
uitools —— 图形界面函数库
datatypes —— 数据类型函数库
graphics —— 句柄绘图函数库
graph3d —— 三维绘图
各函数库中的函数可用help 函数库名查询,或type 函数名方法查询
例:help plotxy
Two dimensional graphics.
Elementary X-Y graphs.
plot - Linear plot.
loglog - Log-log scale plot.
semilogx - Semi-log scale plot.
semilogy - Semi-log scale plot.
fill - Draw filled 2-D polygons.
5.工具箱和工具箱查询的办法
matlab的目录结构
目录树
c:matlabbin
c:matlabextern
c:matlabsimulink
c:matlabtoolboxcomm
c:matlabtoolboxcontrol
。。。
c:matlabtoolboxsymbolic
matlabbin —— 该目录包含matlab系统运行文件,matlab帮助文件及一些必需的二进制文件。
matlabextern —— 包含MATLAB与 C, FORTRAN 语言的交互所需的函数定义和连接库。
matlabsimulink —— 包含建立simulink MEX-文件所必需的函数定义及接口软件。
matlabtoolbox —— 各种工具箱,Math Works公司提供的商品化matlab工具箱有30多种。toolbox目录下的子目录数量是随安装情况而变的。
6.小 结
能够熟练掌握通用工具箱函数的用法
能够绘制simulink仿真结构图
掌握matlab工具箱函数的查询与定位
第七章 MatLab程序设计
1.matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易。
是matlab重要组成部分。
2.m文件模式
将matlab语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。
程序文件不能在指令窗口下建立,因为指令窗口只允许一次执行一行上的一个或几个语句。
3.数据文件 .mat
mat文件是matlab以标准二进制格式保存的数据文件,可将工作空间中有用的数据变量保存下来。
mat文件的生成和调用是由函数save和load完成的。
4,m文件
m文件的语法类似于c语言,但又有其自身特点。它只是一个简单的ASCII码文本文件,执行程序时逐行解释运行程序,matlab是解释性的编程语言。
m文件有两类独立的m文件 — 称命令文件
可调用m文件 — 称函数文件
命令文件包括两部分:注释文件和程序文件
%RANK Number of linearly independent rows or columns.
% K = RANK(X) is the number of singular values of X
% that are larger than MAX(SIZE(X)) * NORM(X) * EPS.
% K = RANK(X,tol) is the number of singular values of X that
% are larger than tol.
% Copyright (c) 1984-94 by The MathWorks, Inc.
s = svd(x);
if (nargin == 1)
tol = max(size(x)) * max(s) * eps;
end
r = sum(s > tol);
5.系统文件——s函数
用于描述系统运动的专用函数,是特殊的 m 文件。
s 函数有3类: 由simulink结构图自动创建
可用c语言程序设计mex文件直
接定义
用函数m文件编写
6. matlab的函数类型
simple —— 未加载的内部函数、m文件
overloaded ——加载的内部函数、m文件
subfunction —— 子函数
constructor —— matlab类的创建函数
private —— 局部函数
7.matlab语言的程序结构与其它高级语言是一致的,分为顺序结构,循环结构,分支结构。
8.matlab程序流的控制
matlab的控制语句同c语言有相似之处, 但没有c 语言复杂、灵活和多变。因而语法比较简单,容易掌握。
9.matlab文件操作
matlab文件输入、输出(I/O)函数允许把其它格式的数据文件直接读进matlab,它是以c语言文件I/O函数为基础的。
10.matlab应用程序接口
应用程序接口——是matlaab的附加组件。是一个由相关函数组成的接口函数库,可实现与外部程
序的交互。
11.小 结
本节主要介绍了matlab语言程序设计基础。matlab 编程简单,容易掌握。
通过学习,应能编写简单程序