MATLAB(第三讲)
【matlab教学PPT】第3讲 Matlab的图形

ylabel(′y=sin2\pix′);%Y轴标注,可以有汉字 xlabel(′x′);%X轴标注,可以有汉字
第3讲 Matlab的图形 title(′functionploty=sin2\pix′);%图标题 text(0.5,sin(0.5),′\leftarrowsin2\pi0.5′);
第3讲 Matlab的图形 [例3] t=0:pi/20:2*pi; plot(t,sin(2*t),′-mo′,...%线型:实线,洋红色,小圆标记
′LineWidth′,2,...%线宽为2
′MarkerEdgeColor′,′k′,...%标记边缘颜色:黑色 ′MarkerFaceColor′,[.49 1 .63],...%标记面颜色:淡 绿 ′MarkerSize′,12)%标记大小:12 结果如图3所示。
6)坐标颜色控制 set(gca,′Color′,′y′)%坐标面背景颜色设置,本例为:黄 set(gca,′XColor′,′k′)%设置横坐标轴,刻度,字符的颜
色
set(gca,′YColor′,′r′)%设置纵坐标轴,刻度,字符的颜 色
第3讲 Matlab的图形 7)坐标刻度字形的控制 set(gca,′FontSize′,14)%控制字体大小
set(gca,′FontWeight′,′bold′)%设置字体粗细
%有{normal}|bold|light|demi四种 8)坐标位置和方向控制
set(gca,′XAxisLocation′,′top′)% 横 坐 标 轴 位 于 下 方 (bottom默认)
或上方(top)set(gca,′YAxisLocation′,′right′)%纵坐标轴 位于左方(left默认)或右方(right)set(gca,′XDir′,′reverse′)% 横坐标反方向(由右到左为增)set(gca,′YDir′,′reverse′)%纵 坐标反方向(由右到左为增)
第3讲Matlab的变量与矩阵

05:44
22/35
系统仿真
八、逻辑运算
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)
05:44
11/35
系统仿真
三、矩阵的元素提取与拆分
1、用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排
列顺序。在MATLAB中,矩阵元素按列存储,先 第一列,再第二列,依次类推。
例如:A=[1,2,3;4,5,6]; A(3) ans =2
显然,序号(index)与下标(subscript )是一一对 应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号 为(j-1)*m+i。其相互转换关系也可利用sub2ind和 ind2sub函数求得。
布
05:44
14/35
系统仿真
五、特殊矩阵(1)
1、魔术矩阵 魔术矩阵有一个有趣的性质,其每行、每列及两条对角
线上的元素和都相等。对于n阶魔术矩阵,其元素由 1,2,3,…,n×n共n×n个整数组成。MATLAB提供了求魔方 矩阵的函数magic(n),其功能是生成一个n阶魔方阵。 magic(n) n×n的魔术矩阵
一个逻辑运算函数: xor(异或)
逻辑运算的运算法则为:
(1) 在逻辑运算中,确认非零元素为真,用1表示,零元素 为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么,
a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1。 ~a 当a是零时,运算结果为1;当a非零时,运算结果 为0。
matlab教程(第3讲-数组)

2.1数值表示、变量及表达式 (续)
运算符和表达式
运算
加 减 乘 除 幂
数学表达式
a+b a-b axb a/b或a\b
MATLAB运算符
+ * /或 \ ^
MATLAB表达式
a+b a-b a*b a/b或a\b a^b
第二种方法:使用冒号“:”操作符
〘例2-2〙创建以1~10顺序排列整数为元素的 行向量b。>>b=1:10 b=1 2 3 4 5 6 7 8 9 10
2016/11/22 Application of Matlab Language 10
所有的向量元素必须在操作符“[ ]”之内; 向量元素间用空格或英文的逗点“,”分开。
计算
z
z3
z1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3 z_real=real(z), z_image=imag(z), z_angle=angle(z), z_length=abs(z),
2016/11/22
Application of Matlab Language
第四种方法:利用函数logspace 列向量的创建
通过实验认识该函数的功能。
使用方括号“[ ]”操作符,使用分号“;”分 割行。
〘例2-5〙键入并执行x= [1; 2; 3] X=1 2 3
使用冒号操作符
〘例2-6〙键入并执行x= (1:3)‟ % “ ‟ ”表示矩阵的转 置
2016/11/22 Application of Matlab Language 13
MATLAB第3讲 MATLAB基本绘图

3.3 基本三维绘图
[X,Y]=meshgrid(-8:0.5:8,-8:0.5,8);
3.3 基本三维绘图
2、格式2:mesh(x,y,z) 功能:x,y,z 为三个矩阵, 以各元素值为三维坐标点绘图, 并连成网格。
3.3 基本三维绘图
例题 7 画一个球体 [xx,yy,zz]=sphere(30);
0
n
3.3 基本三维绘图
形成了33*33网 格矩阵
3.3 基本三维绘图
可以使用meshgrid()函数产生网格坐标:
格式:[X,Y]=meshgrid(x,y) x,y为同维向量,
X的行为x的拷贝,Y的列是y的拷贝,X,Y同维 例如:[xx,yy]=meshgrid([ 1 2 3 4],[1 2 3 4])
3.3 基本三维绘图
3、格式3:plot3(x,y,z,’s’) plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’) 功能:用于设置绘图颜色和线型 字符串意义同plot。
例如:plot3(x,y,z,’*r’,x,z,y,’:b’)
3.3 基本三维绘图
例题 2
3.3 基本三维绘图
3、hidden on(off) ----隐藏或透视被遮挡的地方
视角变换与三视图
三维图形绘制中的视角定义
z轴
视点
y轴
仰角
方位角
x轴
3.3 基本三维绘图
3. 4 特殊三维绘图 特殊图形库(specgraph)
1、stem3(x,y,z) ----- 三维火柴杆图: 例如:stem3(x,y,z) 2、bar3(z) ------ 三维条形图(同二维) 例如:bar3([1 2 3 2 1]) 3、pie3 (x,p)------ 三维饼图(同二维): 例如:pie3([1 2 3 2 1 1 ],[0 0 1 0 0 0]) 还有其它特殊函数。。。
matlab求解代数方程组解析

第三讲 Matlab 求解代数方程组理论介绍:直接法+迭代法,简单介绍相关知识和应用条件及注意事项 软件求解:各种求解程序讨论如下表示含有n 个未知数、由n 个方程构成的线性方程组:11112211211222221122n n n n n n nn n na x a x a xb a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩ (1)一、直接法 1.高斯消元法:高斯消元法的基本原理: 在(1)中设110,a ≠将第一行乘以111,k a a -加到第(2,3,,),k k n = 得: (1)(1)(1)(1)11112211(2)(1)(2)22112(2)(2)(2)22n n n n n nn n n a x a x a x b a x a x b a x a x b ⎧+++=⎪++=⎪⎨⎪⎪++=⎩(2)其中(1)(1)1111,.k k aa b b ==再设(2)220,a ≠将(2)式的第二行乘以(2)2(2)22,(3,,)k a k n a -= 加到第k 行,如此进行下去最终得到:(1)(1)(1)(1)11112211(2)(1)(2)22112(1)(1)(1)1,111,1()()n n n n n n n n n n n n n n n n nn n n a x a x a x b a x a x b a x a x b a x b --------⎧+++=⎪++=⎪⎪⎨⎪+=⎪⎪=⎩(3) 从(3)式最后一个方程解出n x ,代入它上面的一个方程解出1n x -,并如此进行下去,即可依次将121,,,,n n x x x x - 全部解出,这样在()0(1,2,,)k kk a k n ≠= 的假设下,由上而下的消元由下而上的回代,构成了方程组的高斯消元法. 高斯消元法的矩阵表示:若记11(),(,,),(,,)T T ij n n n n A a x x x b b b ⨯=== ,则(1)式可表为.Ax b =于是高斯消元法的过程可用矩阵表示为:121121.n n M M M Ax M M M b --=其中:(1)21(1)111(1)1(1)11111n a a M a a ⎛⎫ ⎪ ⎪- ⎪=⎪ ⎪ ⎪ ⎪- ⎪⎝⎭ (2)32(2)222(2)2(2)221111n a a M a a ⎛⎫⎪⎪ ⎪-⎪=⎪ ⎪ ⎪⎪- ⎪⎝⎭高斯消元法的Matlab 程序: %顺序gauss 消去法,gauss 函数 function[A,u]=gauss(a,n) for k=1:n-1%消去过程 for i=k+1:n for j=k+1:n+1%如果a(k,k)=0,则不能削去 if abs(a(k,k))>1e-6 %计算第k 步的增广矩阵 a(i,j)=a(i,j)-a(i,k)/a(k,k)*a(k,j); else%a(k,k)=0,顺序gauss 消去失败 disp (‘顺序gauss 消去失败‘); pause; exit; end end end end%回代过程 x(n)=a(n,n+1)/a(n,n); for i=n-1:-1:1 s=0; for j=i+1:n s=s+a(i,j)*x(j); endx(i)=(a(i,n+1)-s)/a(i,i); end%返回gauss 消去后的增广矩阵 A=triu(a); %返回方程组的解 u=x ;练习和分析与思考: 用高斯消元法解方程组:12345124512345124512452471523814476192536x x x x x x x x x x x x x x x x x x x x x x ++++=⎧⎪+++=⎪⎪++++=⎨⎪+++=⎪+++=⎪⎩2.列主元素消元法在高斯消元法中进行到第k 步时,不论()k ik a 是否为0,都按列选择()||(,,)k ik a i k n = 中最大的一个,称为列主元,将列主元所在行与第k 行交换再按高斯消元法进行下去称为列主元素消元法。
matlab第三讲

sinh(x) asinh(x) sind(x) asind(x)
练 习
(1) (2) (3) (4) (5) (6)
sin(2x), x=3π cos(x), x的范围 [0,2π],步长为0.2π x的范围 [0,2π],步长为0.2π arcsin(1) arccos(x),x的范围[ 1,1],步长为0.2 arccos(x),x的范围[-1,1],步长为0.2 求450角的余弦值 求0.5的反正弦值,注意区分结果为角度还是弧 0.5的反正弦值,注意区分结果为角度还是弧 度。
Matlab中的函数 Matlab中的函数
MATLAB中的许多内置函数由三部分组成:名称、 MATLAB中的许多内置函数由三部分组成:名称、 输入和输出。输入也称为自变量,自变量既可以 是标量也可以是矩阵。 函数的嵌套 eg: a=sqrt(sin(x)) 函数嵌套会导致MATLAB编码变得复杂化,为了 函数嵌套会导致MATLAB编码变得复杂化,为了 简化,往往把函数嵌套分解成两个赋值语句: a=sin(x) b=sqrt(a)
Sort(x,’ descend’ Sort(x,’ descend’) 各列按降序排列。 Sortrows(x) Sortrows(x,n)
数据分析函数-规模函数 数据分析函数-
size(x) 求矩阵x的行数和列数。若x 求矩阵x的行数和列数。若x为多维数组, 则size用来求数组的维数和长度。 size用来求数组的维数和长度。
练
习
(1)求322的因数 )求322的因数 (2)找出322和6的最大公约数 )找出322和 (3)检验322是否为素数 )检验322是否为素数 (4)计算从0到322之间素数的个数 )计算从0 322之间素数的个数 (5)用分数近似表示π )用分数近似表示π (6)求10的阶乘10! )求10的阶乘10!
MATLAB编程

高
关系 数组 逻辑 先决 逻辑
低
MATLAB编程与应用基础
赋值语句=优先级最低
第五章
MATLAB编程
操作符优先级举例
• • • • • >>x=3,b=(x>=1:5) >>x=3,b=x>=1:5 >>x=3,b=1:x>=5 >>x=3,x*1:5>=x.*0.5 >>x=3,b=3;x&b>2
a=28;b=11 a=28;b=11 28 c=**(a,b) a→11100 b→01011
a数位非
数位异或
Hale Waihona Puke MATLAB编程与应用基础
第五章
MATLAB编程
级别
操作符
类别
1 2 3 4 5 6 7 8 9 10 11
括号() 括号() 转置. ,共轭转置‘ 点幂.^ 转置.’,共轭转置‘,幂^,点幂.^ 代数正+ 代数负- 逻辑非~ 代数正+,代数负-,逻辑非~ 点乘.* 点除./. .*, ./.\ 乘*,除\/,点乘.*,点除./.\ 加+,减冒号运算: 冒号运算: 关系运算:>,<,= 关系运算:>,<,= =,>=,<=,~= 数组& 数组| 先决&& 先决或|| 数组 运算
>>a = 3 >>b = 2;
MATLAB编程与应用基础
第五章
MATLAB编程
3.1 M文件编程基础
3.1.2 M文件编写和运行
点击MATLAB桌面上 图标,弹出M文件编辑器。 将指令写入M文件编辑调试器的空白框中(通常在空白框第一行 写入包含文件名的注释)。 点击M文件编辑器的 图标,并在保存对话框中填写目录和文件 名,再按【保存】键,脚本文件即存于指定的目录上。
(完整版)matlab第三讲教案

西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第三章课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求掌握matlab中内置的初等数学函数、三角函数、数据分析函数等函数的运用。
二、教学重点与难点本堂课教学的重点在于引导学生在命令窗口进行一些简单的计算,对matlab初等的数学函数能够熟练运用,并能写一些matlab的简单程序解决实际问题。
三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。
四、教学内容一、课程内容回顾上节课主要学习了数据显示格式、复数的运算、算术运算等。
(1)短数据格式和长数据格式之间的显示切换(2)15+16i,求该复数的模和辐角,实部与虚部(3)[1:3;2:4;3:5],求矩阵的转置初等数学函数包括对数函数、指数函数、绝对值函数、四舍五入函数和离散数学中的函数。
我们今天课程的任务就是掌握这些函数的运用。
二、常用的数学函数练 习创建矢量x,在-9到12之间,步长为3 (1)求x 除以2的商 (2)求x 除以2的余数 (3)e x(4)求x 的自然对数ln(x) (5)求x 的常用对数lg(x)(6) 用函数sign 确定矢量x 中哪些元素为正 (7)将显示格式变为rat ,显示x 除以2的结果 Eg: x=-9:3:12;(1) x/2;(2) rem(x,2);(3)exp(x);(4)log(x );(5)log10(x);(6)sign(x);(7)format rat;x/2三、取整函数Matlab 中有几种不同的取整函数。
其中最常用的是四舍五入。
然而取上近似还是取下近似要根据实际情况而定。
例如,在杂货店买水果,苹果0.52美元一个,5美元能买几个?5.009.61540.52/=苹果苹果但是在现实生活中,显然不能买半个苹果,而且也不能四舍五入到10.所以,只能向下取近似值9.四、离散数学中的函数离散数学就是有关数的数学,也就是中学代数里的因式分解、求最大公因数和最小公倍数。
[计算机软件及应用]matlab课件第3讲
![[计算机软件及应用]matlab课件第3讲](https://img.taocdn.com/s3/m/280c86e1a216147916112820.png)
2021/8/26
10
4、数组元素的标识与寻访
• 数组元素的标识 – “全下标(index)”标识 经典数学教科书采用“全下标”标识法:每一维对应一个下标。 – 如对于二维数组,用“行下标和列下标”标识数组的元素, a(2,3)就表示二维数组a的“第2行第3列”的元素。 – 对于一维数组,用一个下标即可,b(2)表示一维数组b的第2 个元素,无论b是行向量还是列向量。 – “单下标”(linear index)标识 所谓“单下标”标识就是用一个下标来表明元素在数组的位置。 – 对于二维数组, “单下标”编号:设想把二维数组的所有 列,按先后顺序首尾相接排成“一维长列”,然后自上往下 对元素位置执行编号。 – 两种“下标”标识的变换:sub2ind、ind2sub
>>a([1 2 5]) %寻访a的第1、2、5个元素组成的子数组
ans = 1.0000 3.2500 10.0000
2021/8/26
13
4、数组元素的标识与寻访 (续)
>>a(1:3) %寻访前3个元素组成的子数组
ans =
1.0000 3.2500 5.5000
>>a(3:-1:1) %由前3个元素倒序构成的子数组
(1,3) (2,3) (3,3)
(1,4) (2,4) (3,4)
(1,4) (2,4) (3,4)
页
24
5、多维数组 (续)
• 三维数组,可对应至一个 X - Y - Z 三维立体坐标,如下图所示:
Z(页)
2021/8/26
X(行)
Y(列)
25
5、多维数组 (续)
• 三维数组元素的寻址:可以(行、列、页)来确定。 • 以维数为 3×4×2 的三维数组为例,其寻址方式如下
第三讲-MATLAB数据类型

MATLAB 数值表示缺省的数据类型为双精度浮点型例如:3 -10 0.001 1.3e10 1.256e-6 修改显示格式:format style short, long, short e, long e,short g, long g, short Eng, long Eng, bank, +, hex, rat, compact, loose基本操作⏹ceil( ), floor(), round() %取整⏹single( ) %单精度浮点型 ⏹double( ) %双精度浮点型缺省显示格式:简洁的短(short )格式,小数点后四位MATLAB四则运算符运算数学表达式MATLAB运算符MATLAB表达式加a+b + a+b减a-b - a-b乘axb * a*b除a/b或a\b /或\ a/b或a\b幂^ a^bba●MATLAB用“\”和”/”分别表示“左除”和“右除”。
对标量而言,两者没有区别。
对矩阵产生不同影响。
●表达式按与常规相同的优先级自左至右执行运算。
●优先级:指数运算级别最高,乘除次之,加减最低。
●括号改变运算的次序。
例:计算 (1)在MATLAB 命令窗口输入: >>(12+2*(7-4))/3^2(2)按【Enter 】键,指令执行。
()2122743+×−÷例:计算(1)在MATLAB 命令窗口输入: >>(-1)^(1/3)(2)按【Enter 】键,指令执行。
1/3(1)−例:计算的值,其中x=4.92。
>>sqrt(2*exp(4.92+0.5)+1)MATLAB 复数及其运算MATLAB 中复数的表达:z=a+bi ,其中a 、b 为实数。
基本操作⏹实部real( )、虚部imag( ) ⏹辐角主值angle( )、模abs( ) ⏹共轭conj( )例:复数z1=3+4i ,z2=1+i, (1)计算 (2)验证:模的平方等于实部、虚部平方和 (3)计算z2辐角主值12121212,,,z z z z z z z z +−MATLAB逻辑类型在MATLAB中逻辑类型包含true和false,分别由1和0表示。
第三讲MATLAB的符号运算

④计算所需的时间较长。
• Symbolic Math Toolbox——符号运算工具包通过调用
Maple软件实现符号计算的。
• Maple软件——主要功能是符号运算,它占据符号软件
的主导地位。
2. 字符串与符号变量、符号常量
字符串对象 f = 'sin(x)+5x'
由符号变量构成的符号函数和 符号方程
• 符号表达式是由符号常量、符号变量、符号函
数运算符以及专用函数连接起来的符号对象。
• 包括:符号函数和符号方程。判断看带不带等
号。 例:syms x y z; f1=x*y/z;
f2=x^2+y^2+z^2; f3=f1/f2;
e1=sym('a*x^2+b*x+c')
factor(x^3-y^3)
• simplify( ) 该函数是一个强有力的具有
普遍意义的工具,它利用Maple化简规则 对表达式进行简化。
例:S=sym('[(x^2+5*x+6)/(x+2);sqrt(16)]')
simplify(S)
• simple( ) 用几种不同的算术简化规则对
符号表达式进行简化,使其用最少的字 符来表示。
行是自变量 x 的取值范围和常数 a 的值。
• 第四行只对 f 起作用,如求导、积分、简
化、提取分子和分母、倒数、反函数。
• 第五行是处理 f 和 a 的加减乘除等运算。
• 第六行前四个进行 f 和 g 之间的运算,后
三个分别是:求复合函数;把 f 传递给 ; swap是实现 f 和 g 功能的交换。
MATLAB第三讲符号运算及绘

化简根号表达式
使用`sqrt`函数化简根号表达式,例如 `sqrt(x^2)`化简为`abs(x)`。
符号函数的计算
1 2
符号函数的求值
使用`subs`函数将符号表达式中的变量替换为具 体数值进行计算,例如`subs(expr, x, 2)`。
符号函数的复合
使用函数句柄和参数列表定义符号函数,例如`f = @(x) x^2 + 2*x + 1`。
符号方程求解
使用solve函数求解代数方程,例如 solve(x^2 - 4*x + 4)。
绘图实例
线性图
使用plot函数绘制线性图,例如plot(x, y)。
柱状图
使用bar函数绘制柱状图,例如bar(x, y)。
散点图
使用scatter函数绘制散点图,例如scatter(x, y)。
曲面图
使用surf函数绘制曲面图,例如surf(x, y, z)。
三维等高线图
使用contour函数绘制三维等高线 图,可以展示三维空间中数据点的 等高线分布。
图形标注与修饰
标题和轴标签
使用title和xlabel、ylabel、 zlabel函数添加标题和轴标签,
以解释图形含义和坐标轴意义 。
网格线和参考线
使用grid on和hold on命令添 加网格线和参考线,以增强图 形可读性和比较不同数据系列 。
趋势。
条形图
使用bar函数绘制条形图, 可以展示分类数据的大
小比较。
饼图
使用pie函数绘制饼图, 可以展示各类数据占总
体的比例。
绘制三维图形
三维散点图
使用scatter3函数绘制三维散点 图,可以展示数据点在三维空间
第3讲 MATLAB作图

loglog(X, Y) :x、y坐标都是以10为底的对数比例坐标系
semilogx(X, Y):x坐标轴是对数坐标系 semilogy(…):y坐标轴是对数坐标系 plotyy:两个y坐标轴,左、右边各一个
例 用方形标记创建一个简单的loglog
解 输入命令: x=logspace(-1,2); loglog(x,exp(x),’-s’) grid on %标注格栅
(2) Mesh(x,y,z)
画网格曲面
数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值
例
画出曲面Z=(X+Y)2在不同视角的网格图.
解 x=-3:0.1:3; y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; mesh(X,Y,Z) Matlab liti205
间
曲
线
PLOT3(x,y,z,s)
n维向量,分别表示曲 线上点集的横坐标、纵 坐标、函数值 例 指定颜色、 线形等
在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t), z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) Matlab liti201 rotate3d %旋转
meshgrid(x,y) 作用: 产生一个以向量x为行、向量y为列的矩阵
返回
空
(1)
间
曲
面
surf(x,y,z) 画出数据点(x,y,z)表示的曲面
数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值
例 解
画函数Z=(X+Y)2的图形. x=-3:0.1:3; y=1:0.1:5; Matlab liti203 [X,Y]=meshgrid(x,y); Z=(X+Y).^2; surf(X,Y,Z) shading flat %将当前图形变得平滑
第三讲MATLAB的图形功能

图形的标注
坐标轴标注
title xlabel ylabel(„标注’,‟属性1‟, 属性值1,…) 例: ?x=0:0.1*pi:2*pi; ?y=sin(x); ?plot(x,y) ?xlabel('x(0~2\pi)','FontWeight',' bold'); ?ylabel('y=sin(x)','FontWeight','b old'); ?title('正弦函数 ','Fontsize',12,'fontweight','bold', 'fontname','黑体')
10
1
极坐标系 polar(theta,rho) polar(theta,rho,s) 其中,theta为角向量,rho 为幅向量,s为图形属性 选项。 例:
90 120
12.5584 60
150
6.2792
30
180
0
210
330
>>x=1:0.01*pi:4*pi; >>y=sin(x/2)+x; >>polar(x,y,'-')
2 1 0
?[x,y]=meshgrid(-3:0.1:3,-2:0.1:2); ?z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); ?plot3(x,y,z)
-1 2 5 0 -2 -5 0
mesh(X,Y,Z) 绘制彩色网格面图形 mesh(x,y,Z) x,y为两个向量,要求 [length(y),length(x)]=size(Z) mesh(Z) [m,n]=size(Z), 则使用x=1:n 及y=1:m 例: ?x=-8:0.5:8;y=x'; ?a=ones(size(y))*x; ?b=y*ones(size(x)); ?c=sqrt(a.^2+b.^2)+eps; ?z=sin(c)./c; ?mesh(z)
第3讲 matlab离散事件系统仿真方法

– – – –
事件调度法 活动扫描法 进程交互法 三阶段法
2
BUPT Information Theory & Technology Education & Research Center
离散事件系统特点
• 系统中的状态只是在离散时间点上发生变化, 而且这些离散时间点一般是不确定的; • 系统的状态变化往往无法用数学公式表示; • 描述方式通常为图、表等接近自然语言的方 式。 • 动态仿真,时间是仿真中的一个关键变量。 • 离散事件系统总包含排队过程。
20
BUPT Information Theory & Technology Education & Research Center
4、三阶段法
• 在三阶段仿真方法中,事件被分成两种类型。
– B(bound 或者 booked)事件:这些事件的发生时刻 是可预测的。
• 如通信系统仿真中一次语音通话的发起与结束。 • 通常是“到达”或“结束”类事件
• 基本思想
– 用事件的观念来分析真实系统; – 定义事件以及每个事件发生所引起的系统状态变化 – 按事件发生时间先后顺序来安排事件,并执行每个事件发生时的有 关逻辑关系
• 按照这种策略建立模型时,所有的事件均放在事件表中 • 模型中设有一个时间控制组件,它从事件表中选择具有最早 发生时间的事件并将仿真钟修改到该事件发生的时间,然后 调用与该事件相应的事件处理模块;该事件处理后返回时间 控制成分 • 事件的选择与处理不断进行,直到仿真终止条件或程序事件 产生为止
– 系统状态;事件(类型)及其属性
• 系统状态:例如顾客排队的队长q,服务员忙闲 状态Z • 引起这些状态变化的事件有:顾客到达系统、 顾客接受服务、顾客离开系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
surf 作图举例
>> >> >> >> [X,Y]=meshgrid(-8:0.5:8); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; surf(X,Y,Z)
mesh 与 surf 的比 较
sphere (球面)作图
在曲线旁边标出各曲线的函数;给出图像的标题,x轴与y轴的 坐标说明。
空间三维曲线
三维曲线 : plot3
设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t), 则其图形可由下面的命令绘出:
plot3(x,y,z,’s’)
例:三维螺旋线 t=[0:0.1:10*pi]; x=2*t; y=sin(t); z=cos(t); plot3(x,y,z); t=[0:0.1:10*pi]; x=t.*sin(t); y=t.*cos(t); z=t; plot3(x,y,z,’r*-.’);
Matlab 图形绘制功能
二维图形
同时绘制多个函数图像
plot(x1,y1,s1,x2,y2,s2, ... ,xn,yn,sn) 等价于: hold on plot(x1,y1,s1) plot(x2,y2,s2) ... plot(xn,yn,sn) 属性选项 可以省略
对数坐标图形
Matlab 的特点与功能
Matlab 是一个交互式软件系统
输入一条命令,立即就可以得出该命令的结果
Matlab 具有很强的数值计算功能
Matlab 以矩阵作为数据操作的基本单位,但无需预先指定 矩阵维数(动态定维)
按照 IEEE 的数值计算标准进行计算 提供十分丰富的数值计算函数,方便计算,提高效率 Matlab 命令与数学中的符号、公式非常接近,可读性强, 容易掌握
plot3的用法与 plot 类似
Matlab 空间曲线绘图举例 例:三维 x=t, y=sin(t), z=cos(t), 0 < t < 20 螺线
先画点,后连线
1) 给出空间离散点的坐标 (x,y,z) 2) 将这些点按顺序连接即可
空间曲线作图举例
>> >> >> >> t=[0:0.5:20]; x=t; y=sin(t); z=cos(t);
坐标控制
axis函数的调用格式为:
axis([xmin xmax ymin ymax( zmin zmax)])
axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(缺省为矩形)。 axis auto:使用缺省设置(默认)。 axis off:取消坐标轴。 axis on:显示坐标轴
图形的属性
划分绘图区域 subplot(m,n,p) 将一个绘图窗口分割成 m*n 个子区域,并 按行 从左至 右 依次编号 。p 表示第 p 个绘图子区域。
例:>> x=-pi:pi/10:pi;
>> >> >> >> subplot(2,2,1);plot(x,sin(x)); subplot(2,2,2);plot(x,cos(x)); subplot(2,2,3);plot(x,x.^2); subplot(2,2,4);plot(x,exp(x));
如果没有给出 n 的值, 则系统默认为 n=20
meshz 调用方式与 mesh 相同,在 mesh 基础上屏蔽边界面
空间曲面作图举例
例:“墨西哥帽子”
由函数 z sin( r ) / r, 其中 r x 2 y 2 确定的曲面
( –a < x < a, -a < y <a )
a=8 时的曲 空间曲面作图举例
[X,Y]=meshgrid([8:0.5:8]); x=[-8:0.5:8]; x=[-8:0.1:8]; y=[-8:0.5:8]; y=[-8:0.1:8]; [X,Y]=meshgrid(x,y); Z=x‘*sin(y); mesh(x,y,Z); r=sqrt(X.^2+Y.^2)+e [X,Y]=meshgrid(x,y); ps; r=sqrt(X.^2+Y.^2)... +eps; Z=sin(r)./r; Z=sin(r)./r; 1) x 与 y 可以取不同的步长 mesh(X,Y,Z) mesh(X,Y,Z)
二维统计分析图
饼图
pie(y) 向量y的每一个元素占一个扇形, 矩阵y的每一个元素占一个扇形,按列方向排列
例:
y=[30 48 36 20 12]; pie(y); x=magic(3),pie(x) xx=[0.02 0.036 .45 .09] pie(xx)
二维统计分析图
离散数据图
stem(y) 或 stem(x,y,’fill’,’ห้องสมุดไป่ตู้string’) fill 填充数据点处的小圆点
空间曲面
空间曲面其它作图函数
surf(X,Y,Z) 绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh mesh 绘制网格图,surf 绘制着色的三维表面图 sphere(n) 专用于绘制单位球面
[X,Y,Z]=sphere(n) X,Y,Z是返回的(n+1)×(n+1)单位矩阵点列
MATLAB
Matlab 简介
Matlab是一种广泛应用于工程计算及 数值分析领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展 与竞争,现已成为国际公认的最优秀的 工程应用开发环境。 在欧美各高等院校,Matlab 已经成为线性代数、数值分 析、数理统计、自动控制理论、数字信号处理、时间序列分 析、动态系统仿真、图像处理等课程的基本教学工具,已成 为大学生必须掌握的基本技能之一。Matlab 功能强大、简 单易学、编程效率高,深受广大科技工作者的欢迎。
2) 注意这里采用的数组运算 最后一个命令能否改为 mesh(Z)?
面图形
空间曲面作图举例
例:绘制等高线 meshc [X,Y]=meshgrid(-8:0.5:8); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; meshc(X,Y,Z)
空间曲面作图举例
例:绘制边界面屏蔽 meshz [X,Y]=meshgrid(-8:0.5:8); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; meshz(X,Y,Z)
空间三维曲面
空间曲面 : peaks(n)
空间三维作图
绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一个网格 矩阵,然后计算函数在各网格点上的值。 网格生成函数:meshgrid [X,Y]= meshgrid(x,y) x, y 为给定的向量,X, Y 是网格划分后得到的网格矩阵 若 x = y, 则可简写为 [X,Y]= meshgrid(x)
x1 n x2 n xmn
z11 z 21 Z zm 1
z12 z22 zm 2
z1n z2 n zmn
线: 分别沿 x 方向和 y 方向
连接这些点即可得到
空间曲面作图举例
例:画出下列函数的图像
空间曲面作图
先画点 (x,y,z),后连线,构成曲面网格图
点: ( xij , yij , zij )
x11 x X 21 xm 1 x12 x22 xm 2
i 1,, m, j 1,, n
y11 y Y 21 ym1 y12 y22 ym 2 y1n y2 n ymn
对函数自适应采样的绘 图函数
fplot函数的调用格式为:
fplot(fname,lims,tol,选项)
例:
其中fname为函数名,以字符串形式出现, lims为x,y的坐标轴取值范围,tol为相 对允许误差,其系统默认值为2e-3。
x=-1:0.1:1 y=cos(1./x);plot(x,y);figure fplot(‘cos(1./x)’,[-1,1])
二维统计分析图
条形图 bar(x,y) 或 bar(x,y,’style’) style的可选项有二:group 和 stack
例:
y=rand(6,4)*8; subplot(2,2,1);bar(y) subplot(2,2,2);bar(y,‘stack’) subplot(2,2,3);barh(y,‘stack’)
例: x=[-8:0.5:8], y=[-8:0.5:8] plot(x,y,'d') figure [X,Y]=meshgrid(x,y) plot(X,Y,'*')
空间三维曲面
空间曲面 mesh, meshc, meshz
mesh(X,Y,Z,C) 绘制由矩阵 X,Y,Z 所确定的曲面网格图, 矩阵 C 用于确定网格颜色,省略时 C=Z。 mesh(Z) 以Z的元素为Z坐标,行列下标分别为X,Y坐标。 mesh(x,y,Z) x, y 是向量时,length(x)=n,length(y)=m,[m,n]=size(Z) meshc 调用方式与 mesh 相同,在 mesh 基础上增加等高线
MATLAB提供了绘制对数和半对数坐标 曲线的函数,调用格式为:
semilogx (x1,y1,选项1,x2,y2,选项2,…) semilogy (x1,y1,选项1,x2,y2,选项2,…) loglog (x1,y1,选项1,x2,y2,选项2,…)