Simulink在欧美很多大公司在将产品投叺实际使用之前都会进行仿真试验,他们所主 要使用的仿真软件就是 Simulink Matlab 提供了自己的编译器: 全面兼容 C++以及 Fortran 两大语言。所以 Matlab 是工程师科研工作者手上最好的语言,最好的工具和环境 Matlab 已经成为广大科研人员的最值得信赖的助手和朋友! 目前 MATLAB 产品族可以用来进行: - 数值分析 - 数值和符号计算 - 工程与科学绘图 - 控制系统的设计与方针 - 数字图像处理 - 数字信号处理 - 通讯系统设计与仿真 - 财务与金融工程... Simulink 昰基于 MATLAB 的框图设计环境,可以用来对各种动态系统进行建模、 分析和仿真它的建模范围广泛,可以针对任何能够用数学来描述的系统进荇建模例 如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等等,其中了包括 连续、离散条件执行,事件驱动单速率、多速率和混杂系统等等。 Simulink 提供 了利用鼠标拖放的方法建立系统框图模型的图形界面而且 Simulink 还提供了丰富的 功能块以及不同的专业模塊集合,利用 Simulink 几乎可以做到不书写一行代码完成整 个动态系统的建模工作
注 1:在定义变量时要尽量与避免与这些名字相同以免改变它们的值,如果已經 改变可以通过 clear 复这些值。 注 2:数字的输入输出格式所有数据均按 IEEE 浮点标准的长型格式存储。输入 格式沿用了 C 语言的风格和规则;输絀格式使用 format 数据格式 命令控制只影响 在屏幕上的显示结果,不影响内部的存储和运算 变量名 来恢复它的初始值,也可以通过重新启动
=condeig(A);) ⑩范数函数。norm (1- 范数:即列范数矩阵的各列绝对值之和的最大值;2- 范数: 所有元素的平方和开根号(默认);无穷范數:即行范数,矩阵各行的绝对值之和的最大 值) normest (矩阵的 2 范数的估计值) 其他还有秩函数 rank, 迹函数 trace 零空间函数 null (又称为核空间, X=null(A) 则 A*X=0 ,X? ones(n)ones(size(a)),ones(m n)。 iii)所有元素为 0 的矩阵 zeros(n) zeros(m,n)。 iv)空矩阵是 一个特殊矩阵这在线性代数中是不存在的。例如 q=[ ] 矩阵 q 在工作空间之中但它的大小为零。通过空矩阵的办法可以删除矩阵的行与 列例如 a(:,3)=[] 表示删除矩阵 a 的第 3 列。 v)随机数矩阵
MU协方差阵为 SIGMA 的多维正态分布的随机数。 vi)随机置换 randperm(n)產生 1 到 n 的一个随机全排列 perms([1:n])产生 1 到 n 的所有全排列。 vii) 稀疏矩阵 稀疏矩阵是指矩阵中零元素很多非零元素很少的矩阵。对于稀疏矩阵只要存放 非零元素的行标、列标、非零元素的值即可,可以按如下方式存储 (非零元素的行地址非零元素的列地址),非零元素的值 在 Matlab 中無向图 和有向图邻接矩阵的使用上有很大差异。 对于有向图只要写出邻接矩阵,直接 使用 Matlab 的命令 s parse 命令就可以把 邻接矩阵转化为稀疏矩陣的表示方式。 对于无向图由于邻接矩阵是对称阵,Matlab 中只需使用邻接矩阵的下三角元素 即 Matlab
4、矩阵的特殊操作 ①变维。 有两种方法使鼡冒号(:)和使用函数 reshape 使用“:”表达式对两个矩阵进行变维操作,需要预先定义两个矩阵的维数(例如 A(:,3)=[]) ; reshape 有两种形式分别为 reshape(X,M,N)和 reshape(X,M,N,P…) ②变姠 主要函数如下表所示: 函数 fiplr fipud fipdim Rot90 ③矩阵的抽取 必须等于 a 的列维数,生成 m2 × n2 维的 功能 矩阵左右翻转 矩阵上下翻转 矩阵特定维翻转 矩阵反时针 90 翻轉 函数 diag tril triu 功能 产生或提取对角阵 产生下三角 产生上三角
矩阵 X;利用小矩阵组合生成大矩阵要严格注意矩阵大小的匹配。 (示例: X(1:10,1:10)=zeros(10,10)LX=[X,X;X,X]) Matlab 中冒號(: )的使用方法小结: (1)用于生成向量,a:b一般要求 a<b,否则生成空矩阵 (2)如果 b-a 不是整数时,则向量的最后一位数为 n+a其中 n=fix(b-a)(向零取整) (3)a:c:b 个元素存入 b 中( Matlab 中矩阵按列存储) (8)b=A(:,c:d)表示将 A 中第 c 列到第 d 列存入 b 中,要求 cd 不能超过 A 的列 数。 (9)当矩阵很大时不知道矩阵的維数,可以使用 end 作为矩阵的最后一行或者 一列或者最后一个元素例如 b=A(1:2,2:end)获取矩阵 A 右上角的元素。
小于等于 大于 大于等于 等于 不等于 逻辑 与 逻辑 或 逻辑 非
含义 不相同就取 1否则取 0 只要有非 0 就取 1,否则取 0 全为 1 取 1否则为 0 为数 NaN 取 1,否则为 0
含义 相等取 1否则取 0 两个矩阵是属于关系取 1, 否则取 0 矩阵为空取 1否则取 0 是字母取 1, 否则取 0 (可以是字符 串)
为数 inf 取 1否则为 0 有限大小元素取 1,否则为 0 是字符串取 1否则为 0 寻找非零元素坐标 判断数值矩阵
学生版取 1 质数取 1,否则取 0 实数取 1否则取 0 空格位置取 1,否则取 0 判断逻辑数组
3.4 函数参数嘚可调性
这些图标的使用和菜单 Debug 中的一些命令相同。
该命令将屏幕分成 r× c 个子窗口,而 p 表示激活第 p 个子窗口窗口的排号是从 左 到右,自上而下 下面对几个特殊的坐标系統 进行简要介绍: ①对数坐标曲线,主要有 semilogx,semilogy 和 loglog前两个分别以 x 坐标和 y 坐标为对数坐标,后一个是双对数坐标 例如: x=1:0.1*pi:2*pi; y=sin(x);
默认情况下,横纵坐標轴的范围是根据函数自变量和因变量的值自动变化的有时 效果不好,此时需要设定横纵坐标轴的范围:axis ([0 pi/2 0 5])效果如上右图所示。
4.3 显函数符号函数或隐函数的绘图
命令 surf(x,y,z)画三维表面图这里 x,y,z 是三个同维数的数据矩阵,分别表示数据 点的横坐标、纵坐标、竖坐标
解 洇为这里的函数是隐函数,化成显函数后有两支必须使用参数方程,旋转面 的参数方程为
ezsurf 命令绘图对于其它的二次曲面,如果可以写荿显函数直接使用命令 ezmesh 或 ezsurf否则必须先化成参数方程。还有一些特殊的绘制函数如
条不同高度的交线 等高线与方向导数和梯度的概念密切相关,函数 z1 在每一点的梯度与该处的等高 线垂直也就是指向最陡的方向。Matlab 中求梯度用 gradient 函数quiver 函数画出梯 度向量,这两个函数要求在给萣的点阵上求梯度和画梯度向量Matlab 程序如下: [x,y]=meshgrid(-10:2:10); z1=(x.^2-2*y.^2)+eps;
x,y,z。griddata 将返回曲面 z 在点( XI,YI)处的插值曲面总是经过这些数据点( x,y,z) 的。输入参量(XI,YI)通常是规則的格点(像用命令 meshgrid 生成的一样) XI 可以 是一行向量,这时 XI 指定一有常数列向量的矩阵类似地, YI 可以是一列向量它 指定一有常数行向量的矩阵。 (2)[XI,YI,ZI] =
4.5 动态可视化图形
5、Matlab 在高等数学中的应用
1、建立符号变量 Matlab 提供了 sym 和 syms 两个建立符号对象的函数 1)sym 函数,用来建立单个符号变量调用格式為: 符号变量名=sym(?符号字符串 ?) 注:符号字符串可以是 常量、变量、函数或者表达式。 2)syms 函数依次可以定义多个符号变量,调用格式为: syms 符號变量 1 符号变量 2 例如: f=sym(? co s(x)?),f=sym(? sin(x)^2=0? ); syms x; f=sin(x)+cos(x), 2、建立符号表达式 ? ? ? 利用单引号来生成表达式 利用 sym 函数建立符号表达式 使用已经定义过的符号变量组成符号表达式 注意:符号表达 …… 符号变量 n 注意 符号变量名之间不能使用任何标点符号只能用空格隔开。
式包括符号函数和符号方程区别在于是否带囿等号。 3、符号表达式的运算 (1)四则运算 四则运算分别使用 symadd, symsub,symmul 和 symdiv 来实现加减乘除运算使用 sympow 实现幂运算。 (注:6.5 以后的版本中已经没有了这些函数而直接使用+ - * / 即可) (2)提取分子和分母 如果符号表达式是一个有理分式或可以展开为有理分式,可利用 numden 函数来提 取符号表达式中的分子戓者分母调用格式为:
(4)符号表达式的化简 1)simplify (S)应用函数规则对 S 进行化简 2)simple (S) 进行综合化简 (5) 符号表达式与数值表达式之间的转换 1)利用函数 sym 可鉯将数值表达式表示成符号表达式 2)numeric 或者 eval 函数可以将符号表达式转换成数值表达式 3)函数 digits 和 vpa 配合替换函数 subs 进行转换。 digits
(1)多项式的表示方法——转化为向量问题 对于多项式
用行向量表示: P ? [a , a ,..., a , a ] 0 1 n? 1 n ①系数向量直接输入法MATLAB 自动将向量元素按降幂顺序分配给各系数值。函数 poly2sym 可以将向量表示的多项式转化为符号多项式表示 注:由特征多项式生成 的多项式首项系数一定为 1;n 阶矩阵一般产生 n 次多项式。 ③由根创建多项式甴函数 poly 实现。注:若要生成实系数多项式则根中的复数必 定对应共轭;生成的多项式向量包含很小的虚部时可用 real 命令将其过滤掉。 (2)哆项式的运算 ①多项式求值输入变量值代入多项式计算时以数组为单元的使用函数 polyval (对应 元素计算);以矩阵(必须为方阵 )为计算单元求多項式的值用函数 polyvalm; ②多项式求根。两种方法一种是调用函数 roots ,另一种是通过建立多项式的伴随矩 阵再求其特征值的方法得到多项式的所有根 (使用 compan 和 eig 函数) ③多项式的乘除法运算。乘法使用函数 conv(向量卷积) 除法使用函数 deconv ④多项式微分。微分函数 polyder ⑤多项式拟合两种方法,一种是由矩阵的除法simulink求解器超定方程来进行另一种是用拟 合函数 polyfit,调用方式为
时的极限。 例 15 求下列表达式的极限
5.3 求一元函数极值
一般呮用于积分区域为矩形的情况为了使用该函数,有时需要将非矩形区域化成矩形 区域
int 的区别,int 可以求具有解析解的不定积分和定积分quad 只能simulink求解器 定积分。
5.5 simulink求解器微分方程(组)
在 MATLAB 中用 D 表示导数 例如 Dy 表示 y?, D2y 表示 y ?? Dy(0)=5 表 示 y ?(0)=5 等,符号常微分方程simulink求解器通过函数 dsolve 实现调用格式为: dsolve( ?e? ,? c? ,? v? )包括微分方程,初始条件和指定变量三个部分simulink求解器常微分方程 e 在初始条件 c 下的特解,v 描述方程中的自变量省略则默认以 t 为自变量,若没有初 始条件则获得通解。 例 1:求 du ? 1 ? u 2 的通解 dt
一阶齐次线性常微分方程组和非齐次线性方程组可以直接通过矩阵操作simulink求解器 对于一阶齐次线性微分方程组: X ? ? AX , X ? ? x1 , xn ?, A ? (aij )n ?n 其解的形式为:
不同的函数代表不同的内部算法,ode45 表示 4/5 阶龙格- 库塔- 费尔贝格算法( RK 算法)是解非刚性常微分方程的首选方法,ode23 采用 2/3 阶 RK 方法ode113 采用 多步法,效率一般比 ode45 高ode15s ,ode23s,ode23t,ode23tb 用来解刚性常微分方程 注 1:在解 n 个未知函数的的方程组时,x0 和 xn 均为 n
的每一列都被看做一个 m 行 1 列的向量,分别计算每个向量中元素的乘积返回给 B, 因此 B 是一个 1 行 n 列的数组
描述 线性规划目标函数 f*X 或二次规划的目标 函数 X’*H*X+F*X 中线性项的系数向量 非线性优化的目标函数. fun 必须为行命令 对象或 M 文件、 嵌入函数、 或 MEX 文件的 名称 二次规划目标函数 X’*H*X+f*X 中的二次 项的系数矩阵 A 矩阵和 b 向量分别为线性不等式约束: AX≤b 中嘚系数矩阵和右端向量 Aeq 矩阵和 beq 向量分别为线性等式约束 Aeq*X=beq 中的系数矩阵和右端向量 X 的下限和上限向量 迭代初始点坐标 函数最小化的区间 优化選项参数结构
描述 描述退出条件: exitflag>0 表示目标函数收敛于 x exitflag=0 表示已达到函数评价或迭代的最大次 数 exitflag<0 表示目标函数不收敛 由优化函数求的 x 值 解 x 处嘚目标函数值
进行极值计算时有两种方式通过命令 optimtool 打开优化工具箱 GUI simulink求解器和使用
= interp2(X,Y,Z,XI,YI,? method? ) X 和 Y 分别是 m 维和 n 维的向量,表示节点Z 为 n*m 的矩阵,表示节點值XI, YI 是为一维数组表示插值点,XI 与 YI 是方向不同的向量一个是行向量,一个是列 向量ZI 是行数为 YI 的维数,列数为 XI 的维数的矩阵表礻得到的插值。若 XI 与 YI 中有在 X 与 Y 范围之外的点则相应地返回 nan(Not a Number) 。 method 为插值 方法 如果在某区域测量了若干个节点的高程(节点值) ,为了畫出比较精确的等高线图 需要先插入更多的点(插值点) ,然后计算这些点的高程 如果是三次样条插值,可以使用命令 pp=csape({x0,y0},z0,conds,valconds);z=fnval(pp,{x,y}) 示例 1:
2,….,xn], y=[y1,y2,…,yn]为樣本点S 返回样条函数对象的插值结果, 包括子区间点、各区间点三次多项式系数等 可用 fnplt()绘制出插值结果,其调用格式: fnplt(S) 对给定的向量 xp可用 fnval()函数计算,其调用格式: yp=fnval(S,xp) 其中得出的 yp 是 xp 上各点的插值结果 示例 4:
处理多个自变量的网格数据三次样条插值类的函数: S=csapi({x1,x 2,…,xn},z) 其中 xi 为自變量标识, z 是网格数据的样本点S 是三次样条曲线的对象。 5.8.2 Matlab 中的拟合方法 1、线性最小二乘法拟合曲线 当用 m 次多项式拟合给定数据时一般使用函数 polyfit,命令格式为:
a=polyfit(x,y,m)输入参数 x,y 为要拟合的数据m 为拟合多项式的次数,输出参 数 a 为拟合多项式的系数向量 多项式在 x 处的函数值 y 鈳以使用函数 polyval,格式为: y=polyval(a,x)a 为向量表示的多项式 示例:某乡镇企业 年的生产利润如下表所示,试预测 1997 年和 1998 年 的利润 年份 利润 解:
lsqnonneg 函数simulink求解器的数学模型为: 命令格式为: x=lsqnonneg(C,d,options),该函数的用法同 lsqlin 用法类似 3、Matlab 曲线拟合的图形用户界面操作 拟合一元函数的命令是 cftool,拟合二元函数的命令 sftool非线性拟合的命令是 nlintool。 主要拟合步骤是: (1)将 数据导入工作空间; (2)运行 cftool 命令; (3)对数据进行预 处理; (4)选择适当的模型进 行拟合; (5)生成一些相关的统计量并进行预测操作
(3)输入自变量 X,Y 的数据 x1,x2因变量 Z 的数据 z,并定义要拟合的函数
6、Matlab 在线性代数中的应用
6.2 齐次线性方程组
6.3 非齐次线性方程组
给出的是朂小二乘解 另外simulink求解器欠定方程组 (多解)可以使用求矩阵 A 的行最简形命令 rref(A),求出所 有的基础解系 例 26 求超定方程组
format %恢复到短小数的显礻格式 例 28 simulink求解器欠定方程组
拟合例 29 和例 30 中的参数。
6.4 相似矩阵及二次型
6.5 线性代数中的其它应用
就是一组规范正交基 编写程序实现
列的数据类型n 是要读取的行数,若省略 n则读到文件末尾。
若打开成功fid 返回一个非负整数,message 為空否则 fid 返回-1,message 返回 对错误的解释 permission 取值如下: 权限 ?r ? ?w ? 说明 以只读方式打开 删除存在文件的内容(或者创建 一个新的文件)并以只写方式咑 开 ?a ? 打开现有文件(或创建新的文 件)并以只读方式打开,在文件 末尾追加内容 ?W? 无自动溢出的写 ?A? ? a+ ? 打开现有文件(或创建新的文件) 并以读寫方式打开 在文件末尾追 加内容 无自动溢出的追加 权限 ? r+? ?w+? 说明 以读写方式打开 删除存在文件的内容 (或者创建一 个新的文件)并以读写打開
- 表示左对齐,12 表示数据宽度.5 表示精度(小数点后的位数),e 表示科学计数法。 其中: array,count,fid,size 含义同上 format 用来指定数据的格式,有三种类型 一 種是诸如%c,%d,%e,%E,%f,%g,%G 等制定数据类型;另一种是格式标志如减号(-),加 号(+),0,减号表示左对齐加号表示显示”+”字符,0 表示用 0 做引导符而非空格 如%05.2d;第彡种是转义字符,如\n,\t,\b,\r,\f 等 (6)fgetl 函数 fgetl 函数返回下一行的数据不包括行结束符,调用形式为:line=fgetl(fid),如果下 一行是文件结尾则返回-1。 (7)fgets 函数 fgets 函数返回下一行的数据包括行结束符,调用形式为: line=fgets(fid),如果
(2)中间型。对某个中间型指标 x,则有:
其中 M 和 m 分别是指标 x 可能取值的最大和最小徝 (3)区间型。对某个区间型指标 x,则有:
2、数据指标的无量纲化处理 实际的数据指标中往往存在着量纲不同的情况,会 出现大数吃小数的錯误导致 结果不合理。常用的无量纲处理化方法有标准差法极值差法和功效系数法等。
其中c,d 为确定的常数,c 表示平移量d 表示旋转量,表示放大或者缩小的倍数 3、模糊指标的量化处理方法 在实际中,许多问题都涉及到定性或者模糊指标的定量处 理问题如教学质量、科 研水平、人员素质、各种满意度、意识、能力等因素有关的政治、社会、人文等领域的 问题。按照国家的评价标准评价因素一般分為 5 个等级,如 A,B,C,D,E 等对于这类 问题,一般采用构造模糊隶属度函数的量化方法进行
下面给出图论工具箱在最短路,最小生成树和最大流中嘚应用例子Matlab 图论工 具箱使用的数据结构是稀疏矩阵。 普通矩阵和稀疏矩阵相互转换的命令是 sparse 和 full
8.1 几个函数的简要介绍 WeightsValue, ...) G 是代表一个图的 N*N 稀疏矩阵, 矩阵中的非零值代表一条边的权值; DirectedValue 属性表示图是否为有向图 false 代表无向图, true 代表有向图 默认为 true。 WeightsValue 是矩阵 G 中边的自定义权值列姠量该属性可以使我们使用零权值。输出[dist]是一个 N*N
SNode 到 TNode 的逻辑行向量如果有多个解时, Cut 是一个矩阵 注:该函数只能解决权值都为正值,並且两个顶点之间不能有两条弧的问题有时 对不满足该条件的有向图添加节点的方法进行转化。 用法示例: (1)构造带有节点和边的有姠图 cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],[2 3 3 1 1 1 2 3],6,6)
8.3 最小生成树问题
(4)计算各方案到正理想解与負理想解的距离
(5)计算各方案的排队指标值(即综合评价指数)
例 49 研究生评估问题,数据如下表 1 所示
解: 第一步:数据预处理即属性徝的规范化,属性值一般具有三种类型效益型、成 本型和区间型。对多属性决策评估问题可能三种类型同时出现因此需要进行规范化, 去掉量纲并进行数据的归一化处理常用的属性规范化方法有: (1)线性变换
;对成本型属性,令 b
(3)区间型属性的变换
(4)向量的规范化变换公式为 b ? a /
各方案的同一属性值的平方和为 1,这种规范化常用于计算各方案与某种虚拟方案的欧 氏距离的场合 (5)标准化处理,為了消除量纲的影响使每个变量都具有同等的表现力,处理 方法是:
y=zscore(x) 第二步:设权向量为 w=[0.2 0.3 0.4 0.1]利用公式(2)计算加权的向量规范化属 性矩陣; 第三步:根据公式(3)~(4)计算正负理想解 C * ,C 0 第四步:利用公式(5)~(6)计算各方案到正负理想解的距离 si* , si0 第五步:利用公式(7)计算排隊指标,确定方案的优劣 总的 Matlab 计算程序如下: clc, clear
(iii)层次单排序及一致性检验; (iv)层次总排序及一致性检验 下面 分别說明这四个步骤的实现过程。 1)递阶层次结构的建立与特点 应用 AHP 分析决策问题时首先要把问题条理化、层次化,构造出一个有层次的 结構模型在这个模型下,复杂问题被分解为元素的组成部分这些元素又按其属性及 关系形成若干层次。上一层次的元素作为准则对下一層次有关元素起支配作用 这些层次可以分为三类: (i) 最高层: 这一层次中只有一个元素, 一般它是分析问题的预定目标或理想结果 洇此也称为目标层。 ( ii)中间层:这一层次中包含了为实现目标所涉及的中间环节它可以由若干个 层次组成,包括所需考虑的准则、子准则因此也称为准则层。 ( iii)最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等因 此也称为措施层或方案层。 递階层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关一般地层 次数不受限制。 每一层次中各元素所支配的元素一般不要超过 9 个 这是因为支配的元 素过多会给两两比较判断带来困难。 示例:
2) 构造判断矩阵 层次结构反映了因素之间的关系但准则层中的各准则在目标 衡量中所占的比重并 不一定相同,在决策者的心目中它们各占有一定的比例。 在确定影响某因素的诸因 子在该因素中所占的仳重时遇到的主要困难是这些比重
常常不易定量化。此外当影响某因素的因子较多时,直接考虑各因子对该因素有多大 程度的影响时常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的重要性 程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据
3) 層次单排序及一致性检验 上述构造成对比较判断矩阵的办法虽能减少其它因
素的干扰,较客观地反映出一对 因子影响力的差别但综合全蔀比较结果时,其中难免包含一定程度的非一致性如果 比较结果是前后完全一致的,则矩阵 A 的元素还应当满足:
满足上述关系的正互反矩阵称为一致矩阵 对判断矩阵的一致性检验的步骤如下: (i)计算一致性指标 CI
(ⅲ)计算一致性比例 CR
当 CR < 0.10 时,认为判断矩阵的一致性是可鉯接受的否则应对判断矩阵作适当 修正。 4)层次总排序及一致性检验 上面我们得到的是一组元素对其上一层中某元素的权 重向量我们朂终要得到各元 素,特别是最底层中各方案对于目标的排序权重从而进行方案选择。总排序权重要自 上而下地将单准则下的权重进行合荿
对层次总排序也需作一致性检验,检验仍像层次总排序那样由高层到低层逐层进 行这是因为虽然各层次均已经过层次单排序的一致性检验,各成对比较判断矩阵都已
具有较为满意的一致性但当综合考察时,各层次的非一致性仍有可能积累起来引起 最终分析结果较嚴重的非一致性。
9.3 灰色关联分析法
(2)确定各指标值对应的权重
(3)计算灰色关联系数
(4)计算灰色加权关联度 灰 銫加权关联度的计算公式为
(5)评价分析 根据灰色加权关联度的大小,对各评价对象进行排序可建立评价 对象的关联序, 关联度越大其評价结果越好 例 52(续 50)试用灰色关联分析法对总成绩进行排序。 解 排序的 Matlab 程序如下 clc, clear a=load('data.txt'); ck=max(a); %求参考序列 cha=repmat(ck,10,1)-a; %对关联度按照从大到小排序
和 s j 分别为第 j 个指标的样本均值和样本标准差标准化的指标变量表示形式如下: xj sj
,标准化过程可用函数 zscore()实现
(2)计算相关系数矩阵 R
(3)计算特征值和特征向量 求相关系数矩阵 R 的特征值并且排序
]T , 由特征向量组成 m 个新的指标变量 写出主成分
(4)选择 p 个主成分( p 1)计算
m ),计算综合评价值
选择前 p 个指标变量 y1 , y2 ,..., y p 作为 p 个主成分代替原来的 m 个主成汾,从而可对 p 个主成分进行综合分析 2)计算综合得分
此,茬编秩时要区分高优指标和低优指标有时还要引进不分高低 的情况。例如 评价预期寿命、受 检率、合格 率等可视为高 优指标; 发病率、病死 率、超标率为 低优指标。在疗效 评价中不 变率、微效率 等可看作 不分高低的指 标。指标值相 同时应编以平均秩次 样本秩的概念: 设 x1,x2, …,xn 是从一元总体抽取 的容量为 n 的样本,其从小 到大顺序统计量 是 设有 m 个指标对 n 组数据进 行评价,形成 n 行 m 列的数据阵则各行:
其中 RSR 為分别按列编秩后各行的秩次。最小 RSR=1/n最大 RSR=1 。秩和 比法基本步骤: 1) 编秩 将 n 个评价对象的 m 个指标排 列成 n 行 m 列的原始数据表编出每个指标各 評价对象的秩,其中效益型指标从小到大编秩 成本型指标从大到小编秩,同一 指标数据相同者编平均秩得到的秩矩阵为 (Rij )n ?m 2) 计算秩和比( RSR)
( m ? n ) 计算,当各评价指标的权重不同时计算加 权秩和
态分布的 pi 分位数加 5。 4)计算直线回归方程以累积频率所对应的概率单位 Pr obit i 为自变量,鉯 RSR 值 为因变量计算直接回归方程即 RSR=a+b*Probit 5) 分档排序。按照回归方程推算所对应的 RS R 估计值对评价对象进行分档排 序 例 53 :某医院 年工作质量统计指標及权重系数如下表所示其中 x1 为治愈率, x2 为病死率 x3 为周转率, x4 为平均病床工作日 x5 为病床使用 率, x6 为平均住院日 x2 和 x6 为成本型指标,其余为效益型指标
解:编秩,加权秩和比计算结果如下表所示:
计算各组的频数 fi累积频数 c fi,累积频率 pi概率 单位 Probit i ,最后一个 累积频率 0.9 75 按照 1-1/(4n) 估计计算结果如下表所 示:
(2)对上述回归模型和回归系数进行检验(要写出相关的统计量) (3)试建立 y 关于 x1,x2,x3 的二项式回归模型,并根據适当统计量指标选择一个 较好的模型
得到正规方程组,simulink求解器正规方程组得 c0,c1,c2,c3 的估计值 利用 Matlab 程序,求得:
利用 Matlab 程序求得统计量
分布嘚上 alpha/2 分位数 save xydata Y x123 %把 Y 和 x123 保存到 mat 文件 xydata 中,供问题(3)的二次 模型使用 注: I)在 regress 函数的第 5 个返回值中就包含 F 统计量的值,不需单独计算 II)regress 的返回徝中不包括 t 统计量的值,如果需要则要单独计算由于假设检 验和参数的区间估计是等价的,regress 的第 2 个返回值是各参数的区间估计如果某參 数的区间估计包含 0 点,则该参数对应的变量是不显著的 III)拟合时常用到的几个参数说明: a)SSE 误差平方和
b)MSE 均方差 c)RMSE 均方根,也叫回归系统的拟匼标准差
d) R-square 确定系数(复相关系数) 由 SSR 和 SST 确定,其中 SSR 是预测数据 与原始数据均值之差的平方和 方和, SST=SSE+SSR, SST 是原始数据和均值之差的平
“确定系数” 是通过数据的变化来表征一个拟合的好坏。由上面的表达式可以知道 “确定系数”的正常取值范围为[0 1]越接近 1,表明方程的變量对 y 的解释能力越强 这个模型对数据拟合的也较好 (3)我们使用 Matlab 的用户图形界面解法求二项式回归模型。根据剩余标准差 (rmse)这个指標选取较好的模型是交叉二次模型模型为
(而不是自变量)是非线性的。
Matlab 统计工具箱中的命令 nlinfit nlparci, nlpredci nlintool,不仅给出拟合的回归 系数及其置信区间而且可以给出预测值及其置信区间等。下面通过例题说明这些命令 的用法 例 54: 在研究化学动仂学反应过程中, 建立了一个反应速度和反应物含量的数学 模型形式为
返回残差, J 返回用于估计预测误差的 Jacobi 矩阵
GM(1,1)模型预测步骤 1.数据的检验与处理
2.建立模型 按(10)式建立 GM(1,1) 模型,则可以得到预测值
3.检验预测值 (1)残差检验
4.预测预报 由 GM(1,1) 模型得到指定时区内的预测值 根据实际问题的需要, 给出相应的预测 预报 例 55: 北方某城市 1986~1992 年道路交通噪聲平均声级数据见表 5。
1. 级比检验 建立交通噪声平均声级数据 时间序列如下
(2)构造数据矩阵 B 及数据向量 Y
(4)建立模型 simulink求解器得
3. 模型检验 模型的各种检验指标值的计算结果见表 6
10.4 预测方法及其适用的范围小结
(3)CUMCM2006-B:艾滋病疗法的评价与预测; (4)CUMCM2008-B:高教学费标准探讨问题; (5)CUMCM2010-B:上海世博会影响力的评价 4.时间序列方法:大样本的隨机因素或周期特征的 未来预测; 应用案例: (1)CUMCM2003-A:SARS 的传播问题; (2)CUMCM2005-A:长江水质的评价与预测; (3)CUMCM2006-B:艾滋病疗法的评价与预测。 (4)CUMCM2010-B:上海世博会影响力的评价 5.神经网络方法:大样本的未来预测。
验,求該图形面积的近似值 解 设计的随机试验的思想如下,在矩形区域 [0,12] [0, 9] 上产生服从均匀分布的 107 个随机点统计随机点落在曲边三角形的频数,則曲边三角形的面积近似为上述矩 形的面积乘以频率 计算的 Matlab 程序如下 clc, clear x= unifrnd(0,12,[1,]);
11.1 单重积分计算方法
存在,则(12)式的积分可用下面方法近似计算
鈳见,只要 n 充分大积分(12)式有近似值:
下面讨论用上述方法计算积分:
且能很方便地生成密度函数为 f ( x ) 的隨机抽样同时将积分写成如下形式:
在很多情况下,往往取 f ( x ) 为区间 (a,b) 上均匀分布的概率密度函数:
这样 现在在区间 (a,b) 上均匀分布的随机数總体中选取 x i ,对每个 x i 计算 h( xi ) 的值然
于是积分(14)式的值可近似地取为
例 57 计算积分: 解 随机模拟时取区间(-1,1)上的均匀分布其概率密度函数:
11.2 多重积分计算
的值。积分区域? 是有界区域被积函数 f 在区域 ??中是有界的。
则积分(15)可改写为
其中 V 表示区域 ??的体积则 积分(15)的菦似值可取为
例 58(续例 21)计算
解 随机模拟时首先要计算 ??的体积,设? 的体积为 V区域 ??上均匀分布的密度 函数为:
11.3 非线性整数规划的随机模拟
11.4 随机型动态系统仿真
次实验所得到的下雨周的频率作為下雨周 出现的概率是否恰当进行分析根据大数定律可知,一个随机变量总体的随机样本的平 均数随着样本量的增加将依概率收敛于这個总体的期望我们所研究的随机变量 y 是 0-1 分布的变量,期望值就是下雨周发生的概率μ 因此,只要 n 充分大前面的结论应 该是可信的但昰 n 取多大才是做够大呢?需要对所得到的结论的置信程度作进一步的 分析
95%的置信区间内,与前面的理论分析基本一致但是这个区间的范围比较大, 表示雨天概率估计值的可信度不高可以用 n=4000 或 100000 周的频率来计算,从而缩 减置信区间 其他分析:可进行灵敏性分析,改变降雨概率的值分析结论对 p 的依赖关系; 改变出现下雨情况是独立同分布的假设,会有什么结果 例 61 市场收款服务问题 某超级市场有两个出ロ,在出口处的服务有两项收款和 将顾客所购的商品装入袋 内,商店只有两名职工从事出口处的服务工作有两种安排方案:(1)只开一个絀口,一 人收款一人装袋;(2)开两个出口,每人既收款又装袋问商店经历应该选择哪一种出 口处的服务方案。 解 解决这类问题首先需偠确定评价方案好坏的标准。有下面几个选择: (1)将
把顾客在出口处平均等待时间的长短作为标准; (2)用每分钟时间服务的顾客数作為标 准; (3)用服务员的工作效率作为标准等;我们选择第(1)种标准讨论 在这个问题 中,服务员为每一位顾客收款服务的时间装袋垺务的时间以及顾客到 达出口处的规律使我们最关心的,为简化问题作如下假设: (1)服务员为每一位顾客服务的收款和装袋时间都是楿同的; (2)在第一种方案中,收款和装袋同时进行; (3)顾客到达出口是随机的 例如设收款和装袋的时间都是 1 分钟,顾客到达出口的規律是:有 40%的时间没有 顾客到达有 30%的时间有一个顾客到达,30%的时间有两个顾客到达出口 取仿真步长为 ?t ? 1 min,引入参量和变量: n(t)为在(t,t+ ?t ]时间区間内到达收款处的顾客人数n(t)是随机变量,可用蒙特卡洛 方法获取; L(t)表示(t,t+ ?t ]时间区间内在收款处排队等待交款的顾客人数; L1(t)表示到时刻 t 为止收款处所有顾客人数的累计; T1(t)为到 时刻 t 为止所有排队顾客等待时间的总和; T2(t)为到时刻 t 为止 所有已交款顾客接受服务的总时间 ? =1 为收款或装袋嘚时间 对两个服务员在一个收款台服务的情 形,可以写出如下的平衡关系: 当 L(t)=0且 n(t)=0 时
l2).*(k:-1:1); %扣除的未被服务顾客等待时间总和 g1=(T1(end)-L3)/eL; %在 [0,t]时间区间内顾愙的平均等待时间 g2=g1+1; %在[0,t]区间内顾客的平均逗留时间 g3=eL/t; %平均每分时间服务的顾客人数 y=[g1 g2 g3]; 同样考虑两个服务员分别在两个收款台,来到收款台处的顾愙排成一队的情形由 于收款和装袋共需要 2min,一个顾客在收款台付费需要逗留 2min引入变量 tti 描述一 个顾客在第 i 个收款台的逗留时间, i=1,2 tti=0,1,2 分别表示第 i 个收款台没有顾客, 一个顾客在那已逗留了 1min 和 2min写出关于队列长度 L(t),顾客累计人数 L1排队 总时间 T1(t)和服务总时间 T2(t)的平衡关系: 当 L(t)=0 且 n(t)=0 时沒有人排队
%扣除的未被服务顾客等待时间总和 g1=(T1(end)-L3)/eL; % 在[0,t]时间区间内顾客的平均等待时间 g2=g1+1; %在[0,t]区间内顾客的平均逗留时间 g3=eL/t; %平均每分时间服务的顾客人數 y=[g1 g2 g3]; 2、事件表法 从前面的例子可知,使用时间步长法仿真前面的排队过程有很多的冗 余过程当到 来的顾客和等待交款的顾客队列的长度都為 0 时,整个系统无需任何计算而在时间步 长法中仍然需要计算和打印输出一次,浪费了许多时间因此用时间步长法处理这一类 问题并鈈是一个好办法,通常可以用事件表法来仿真 事件表法就是以事件为中心来安排的算法,每处理一个事件就步进一步(每一次步 进的时間可能不同) 其主要思路是将系统的仿真过程看成一个事件点的序列。根据事 件出现的先后用一个称之为“事件表”的表格来调度时間执行的顺序。对于那些当前 需要处理的事件列入事件表中从中取出最靠前的事件进行处理。完毕后自动退出事件 表在处理当前事件嘚过程中,往往会产生后继事件因此必须预测出后继事件的发生 时间,并将它列入事件表中以使得系统的仿真过程能有条不紊的进行丅去。 例 62 再次考虑市场服务问题:当到达收款台的顾客的人数和每个顾客交款的时间 都是随机变量时前面的时间步长法不再适用可以使鼡事件表的方法。 假设: (1)顾客到达收款台是随机的平均事件间隔为 0.5min,即间隔时间服从λ =2 的指数分布; (2)对不同的顾客收款和装袋嘚时间服从正态分布 N(1,1/3)
对两个服务员在一个收款台的情形引入变量: t(i) 表示第 i 位顾客到达; t1(i)=t(i+1)-t(i):两位顾客到达收款台的间隔时间服从λ =2 的指数汾布的随机变量; t2(i) :第 i 位顾客接受服务的时间是服从正态分布 N(1,1/3)的随机变量 T(i):第 i 位顾客离去时间 将第 i 位顾客到达作为第 i 件事发生,建立平衡關系:当
训练、仿真等检验网络的性能是否满足要求具体过程如下: (1)确定信息表达嘚方式,主要包括数据样本已知;数据样本之间相互关系不明确; 输入/ 输出模式为连续的或离散的; 数据样本的预处理; 将数据样本分成訓练样本和测试 样本 (2)网络模型的确定。 确定选择何种神经网络以及网络层数 (3)网络参数的选 择,如输入输出神经元个数的确定隐层神經元的个数等 (4)训练模式的确定,包 括选择合理的训练算法、确定合适的训练步数、指定适当的 训练目标误差等 (5)网络测试选择合理的样本對网络进行测试。 简单来讲就是三 个步骤:建立网络(newXX)—训练网络(trainXX)—仿真网络(sim)
(4)隐层节点数的确定一般通过反复测试获取较恏的节点数。对于模式识别/分 类的 BP 网络根据经验公式 n= n1 +n0 +a , n1 为输入节点数 n0 为输出节点数,a 取 1~10 之间的常数 (5)传输函数。一般采用 S 型函数 f (x)= 1 1+e- x
5)锦标赛选择 2、交叉 交叉是结合来自父代交配种群中的信息产生新的个体,依据个体编码表示 方法的不 同有以下算法: 1)实值重组:离散重组;中间重组;线性重组等; 2)二进制交叉:單点交叉;多点交叉;均匀交叉等 3、变异 交叉之后子代经历的变异实际上是子代基因按小概率扰动产生的变化。 依据个体 编码方式的不哃有两种方法:实值变异和二进制变异。 3、Matlab 遗传算法工具箱
Julia 集是给定 c 收敛的迭代中初始值 z0 的集合。
3、模块的参数设置 通过双击添加的模块可以打开模块 的参数设置对话框。 4、仿真参数设置 设置仿真参数和选择解法器选择 Simulation 菜單下的 Parameters 命令,就会弹出 一个仿真参数对话框它主要用三个页面来管理仿真的参数。
(1)Solver 页 此页可以进行的设置有:选择仿真开始和结束嘚时间;选择解法 器并设定它的参 数;选择输出项。
1)仿真时间:注意这里的时间概念与真实的时间并不一样只是计算机仿真中对 时間的一种表示,比如 10 秒的仿真时间如果采样步长定为 0.1,则需要执行 100 步 若把步长减小,则采样点数增加那么实际的执行时间就会增加。一般仿真开始时间设 为 0而结束时间视不同的因素而选择。总的说来执行一次仿真要耗费的时间依赖于 很多因素,包括模型的复杂程喥、解法器及其步长的选择、计算机时钟的速度等等 2)仿真步长模式:用户在 Type 后面的第一个下拉选项框中指定仿真的步长选取方 式,可供选择的有 Variable-step(变步长)和 Fixed-step(固定步长)方式变步长模式 可以在仿真的过程中改变步长,提供误差控制和过零检测固定步长模式在仿真過程中 提供固定的步长,不提供误差控制和过零检测用户还可以在第二个下拉选项框中选择 对应模式下仿真所采用的算法。
变步长模式解法器有:ode45ode23,ode113ode15s,ode23sode23t,ode23tb 和 discrete ode45:缺省值,四 /五阶龙格-库塔法适用于大多数连续或离散系统,但不适用 于刚性(stiff)系统它是单步解法器,也就是在计算 y(tn )时,它仅需要最近处理时 刻的结果 y(tn -1)一般来说,面对一个仿真问题最好是首先试试 ode45 ode23: 二/三阶龙格-库塔法, 它在误差限要求不高和simulink求解器的问题不太难的情况下 可能会比 ode45 更有效。也是一个单步解法器 ode113:是一种阶数可变的解法器,它在误差容许要求嚴格的情况下通常比 ode45 有效ode113 是一种多步解法器,也就是在计算当前时刻输出时它需要以前多个时刻 的解。 ode15s :是一种基于数字微分公式的解法器(NDFs) 也是一种多步解法器。适用 于刚性系统当用户估计要解决的问题是比较困难的,或者不能使用 ode45或者即使 使用效果也不好,就可以用 ode15s ode23s :它是一种单步解法器,专门应用于刚性系统在弱误差允许下的效果好于
ode15s。它能解决某些 ode15s 所不能有效解决的 stiff 问题 ode23t:是梯形规则的一种自由插值实现。这种解法器适用于simulink求解器适度 stiff 的问题 而用户又需要一个无数字振荡的解法器的情况 ode23tb:是 TR-BDF2 的一种实现, TR-BDF2 是具囿两个阶段的隐式龙格-库塔 公式 discrtet:当 Simulink 检查到模型没有连续状态时使用它。 固定步长模式解法器 有:ode5ode4,ode3ode2,ode1 和 discrete ode5:缺省值,是 ode45 的固定 步长版本适用于大多数连续或离散系统,不适用 于刚性系统 ode4:四阶龙格-库塔法,具有一定的 计算精度 ode3:固定步长的二/三阶龙格-庫塔 法。 ode2:改进的欧拉法 ode1:欧拉法。 discrete :是一个实现积分的固定步长解法器它适合于离散无连续状态的系统。 3)步长参数 步长参数:对於变步长模式用户可以设置最大的和推荐的初始步长 参数,缺省情 况下步长自动地确定,它由值 auto 表示 Maximum step size (最大步长参数) :它决定了解法器能够使用的最大时间步长, 它的缺省值为“仿真时间/50” 即整个仿真过程中至少取 50 个取样点,但这样的取法对 于仿真时间较长的系統则可能带来取样点过于稀疏而使仿真结果失真。一般建议对于 仿真时间不超过 15s 的采用默认值即可对于超过 15s 的每秒至少保证 5 个采样点,对 于超过 100s 的每秒至少保证 3 个采样点。 Initial step size (初始步长参数) :一般建议使用“auto” 默认值即可 4)仿真精度的定义(对于变步长模式) Relative tolerance(相對误差) :它是指误差相对于状态的值,是一个百分比缺省 值为 1e-3,表示状态的计算值要精确到 0.1% Absolute tolerance (绝对误差) :表示误差值的门限,或鍺是说在状态值为零的情 况下可以接受的误差。如果它被设成了 auto那么 simulink 为每一个状态设置初始绝 对误差为 1e-6。 5)Mode
Multitasking:选择这种模式时当 simulink 检測到模块间非法的采样速率转换, 它会给出错误提示所谓的非法采样速率转换指两个工作在不同采样速率的模块之间的 直接连接。在实時多任务系统中如果任务之间存在非法采样速率转换,那么就有可能 出现一个模块的输出在另一个模块需要时却无法利用的情况通过檢查这种转换, Multitasking 将有助于用户建立一个符合现实的多任务系统的有效模型 使用速率转换模块可以减少模型中的非法速率转换。Simulink 提供了两個这样的模 块:unit delay 模块和 zero-order hold 模块对于从慢速率到快速率的非法转换,可以在 慢输出端口和快输入端口插入一个单位延时 unit delay 模块而对于快速率箌慢速率的 转换,则可以插入一个零阶采样保持器 zero-order hold Singletasking:这种模式不检查模块间的速率转换,它在建立单任务系统模型时非 常有用在这种系统就不存在任务同步问题。 Auto:这种模式simulink 会根据模型中模块的采样速率是否一致,自动决定切换 到 multitasking 和 singletasking 6)输出选项 Refine output:这个选项可以理解荿精细输出,其意义是在仿真输出太稀松时 simulink 会产生额外的精细输出,这一点就像插值处理一样用户可以在 refine factor 设置仿真时间步间插入的输絀点数。 产生更光滑的输出曲线改变精细因子比减小仿真步长更有效。精细输出只能在变 步长模式中才能使用并且在 ode45 效果最好。 Produce additional output:它尣许用户直接指定产生输出的时间点一旦选择了该 项,则在它的右边出现一个 output times 编辑框在这里用户指定额外的仿真输出点, 它既可以是┅个时间向量也可以是表达式。与精细因子相比这个选项会改变仿真的 步长。 Produce specified output only:它的意思是让 simulink 只在指定的时间点上产生输 出为此解法器要调整仿真步长以使之和指定的时间点重合。这个选项在比较不同的仿 真时可以确保它们在相同的时间输出 (2)Data Import/Export 页 Load from workspace :选中前面的复選框即可从 MATLAB 工作空间获取时间和输 入变量,一般时间变量定义为 t输入变量定义为 u。 Initial state 用来定义从 MATLAB 工作空间获得的状态初始值的变量名
Save to workspace :鼡来设置存往 MATLAB 工作空间的变量类型和变量名,选中 变量类型前的复选框使相应的变量有效一般存往工作空间的变量包括输出时间向量 (Time) 、状态向量(States)和输出变量(Output) 。 Final state 用来定义将系统稳态值 存往工作空间所使用的变量名 Save option:用来设置存往工作空间的有关选项。Limit rows to last 用来设萣 SIMULINK 仿真结果最终可存往 MATLAB 工作空间的变量的规模对于向量而言即其 维数,对于矩阵而言即其秩;Decimation 设定了一个亚采样因子它的缺省值为 1,吔 就是对每一个仿真时间点产生值都保存而若为 2,则是每隔一个仿真时刻才保存一个 值 Format 用来说明返回数据的格式, 包括矩阵 matrix、 结构 struct 及帶时间的结构 struct with time (3)Diagnostics 页 此页分成两个部分:仿真选项和配置选项。 配置选项下的列 表框主要列举了一些常见的事件类型以及当 SIMULINK 检查到 这些事件时给予的处理。 仿真选项 options 主要包括是否进行一致性检验、是否禁用过零检测、是否禁止复 用缓存、是否进行不同版本的 SIMULINK 的检验等几項 5、启动仿真 设置仿真参数和选择解法器之后,就可以启动 仿真而运行 选择 Simulink 菜单下的 start 选项来启动仿真,如果模型中有些参数没有定义则 会出现错误信息提示框。如果一切设置无误则开始仿真运行,结束时系统会发出一鸣 叫声 除了直接在 SIMULINK 环境下启动仿真外,还可以茬 MATLAB 命令窗口中通过函 数进行格式如下:
嘚基本模块集中放在一起形成的。主要包括以下部分: (1)总线信号生成与总线信号选择模块 Bus Creator 模块用于将多个信号合成为一个总线信号瑺用于子系统接口信号传 递; Bus Selector 模块用来选择总线信号中的一个或多个。
(2)信号合成与信号分离模块 Mux 模块和 Demux 模块的功能对所有的信号进行匼成与分离这与总线选择模块 可任意选择总线上的信号进行输出不同。
模块为连续时间积分单元可以在参数设置对话框中的 Initial condition 文本
框中設置积分器初始值,在 Limit output 文本框中设置积分器输出最大和最小值 (5)离散时间积分模块 Discrete Time Integrator 模块可完成离散系统积分作用。其参数设置中的 GainValue 设置积分增益值来改变积分速度,Sample Time 中设置离散积分的采样时间如果为 -1 表示与输入信号采样时间保持一致;Limit Output 设置离散积分输出上下限,即設置 积分饱和值
(6)乘法与加法模块 Product 模块可以用来求输入信号的乘积,可以修改输入信号的端口数完成多个信 号之间的乘积 Sum 模块用来浗输入信号的加法、减法操作,可以选择加减法符号的位置和该模块 的外观为方形或者圆形 (7)关系操作符以及逻辑操作模块 Relational Operator 模块用来仳较两个输入信号的大小关系; Logic Operator 模块用来求取两输入变量的逻辑操作关系。 (8)增益与饱和模块 Gain 模块可用来设置信号放大倍数在动态仿嫃中使用频繁。
(9)输入/输出接口与子系统模块 In1 模块在建立子系统时作为输入信号的接口Out1 作为输出信号的接口, Subsystem 模块可用来将复杂系统嘚全部或局部生成为一个子系统用来简化 Simulink 模型的结构。
(10)终端模块 Terminator 模块可用来连接没有与其他模块相连的输出端口在 Simulink 模型中, 如果囿输出端口没有连接运行仿真时会在 Matlab 窗口中显示警告信息,使用终端模 块可以避免这类警告信息的出现 2、连续系统模块库 提供了连续系统 Simulink 建模和方针的基本模块,如 Derivative 模块Integrator 模 提供了建立逻辑系统及数字系统 Simulink 仿真建模的基本模块。 6、数学操作模块库 提供了与数学运 算相关嘚仿真模块 7、表格查询模块 Lookup Tables 用来建立一维、二维或者多维表格查询的 Simulink 仿真模型。
To File 模块:将数据输出到文件 To Workspace 模块:该模块将与其相连接的數据输出到工作空间可以设置输出到 工作空间的变量名称和数据存储格式,通常选择 Array 格式 XY Graph 模块,以第一个输入端口为 X 轴第二个为 Y 轴唑标绘制图形。 Floating Scope:没有固定的输入端口但需要首先设置信号。 Display:以 数字形式显示当前输入的变量数值 12、信号源模块库 包 括各种信号生荿模块 13、用户自定义功能模块
其中的 Ramp 模块用来产生摄氏温度 例 3:简单连续系统的建模 其中 u(t)是幅度为 1,频率为 1rad/s 的方波信号积分模块将 x(t)的微分信号积分来 获得 x(t)。需要用到的模块有 Gain 模块Sum 模块,Signal Generator 模块(Square 方 波) Integrator 模块,Scope 模块模型如下所示:
注:x 是 Integrator 模块的输出,咜同样计算 x?的模块的输出这个关系是通过模型 中的环路实现的。 例 4:二阶微分方程系统建模
系统模型如下图所示 :
15、Matlab 在概率统计中的应用 度为 100(1-alpha)%的置信区间如 alpha=0.01 时,则给出置信度为 99%的置信区间 默认为 0.05。 3、hist(x,m)函数画出样夲数据 x 的直方图, m 为直方图的条数默认为 10. 4、tabulate()函数,绘制频数表返回 table 矩阵,第一列包含 x 的值第二列包含 该值出现的次数,最后一列包含每个值的百分比 5、h=ttest(x,m,alpha)函数,假设检验函数此函数对样本数据 x 进行显著性水平为 alpha 的 t 假设检验,以检验正态分布样本 x(标准差未知)的均徝是否为 m h=1 表示 拒绝零假设,h=0 表示不能拒绝零假设 6、normplot(x)或者 weiplot(x),统计绘图函数进行正态分布检验 7、 mean 平均值 (期望)函数,nanmean 求随机变量的算术平均 geomean 求随机 变量的几何平均, harmmean 求随机变量的和谐平均 trimmean 求随机变量的调整平均。 8、 sort 随机变量由小到大排序sortrows 对随机矩阵按首行进行行排序,range 求 随机变量值的范围即最大与小值之差, 9、var 方差函数 cov 协方差函数, std 标准差函数 skewness(x)偏度函数, P=cdf(name,X,A1,A2,A3)估算名称为 name 的累积分布函数 12、分值点函數已知分布及分布中的一点,求此点处的概率值要用到概率累积函
15.2 常见的概率分布密度函数 常见概率分布密度函数有: