当前位置:文档之家› 计算机仿真技术实验指导书版(MATLAB)

计算机仿真技术实验指导书版(MATLAB)

计算机仿真技术实验指导书滨州学院光电工程系目录实验一MATLAB环境的熟悉与基本运算 (1)实验二MATLAB数值及符号运算 (7)实验三MATLAB语言的程序设计 (12)实验四MATLAB的图形绘制 (15)实验五线性系统时域响应仿真分析 (19)实验六控制系统的根轨迹 (23)实验七控制系统的频率特性分析 (29)实验八Simulink建模与仿真 (33)实验九基于传递函数的控制器设计 (41)实验一MATLAB环境的熟悉与基本运算一、实验目的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识:1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。

2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。

MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数三、实验内容1、新建一个文件夹(自己的名字命名)2、启动MATLAB6.5,将该文件夹添加到MATLAB路径管理器中。

方法如下:3、保存,关闭对话框4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)5、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。

6、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。

注意:每一次M-file的修改后,都要存盘。

练习A:(1)help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。

(2)学习使用clc、clear,了解其功能和作用。

(3)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10)(4)输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2)A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A (5)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。

(6)两种运算指令形式和实质内涵的比较。

设有3个二维数组A2×4,B2×4,C2×2,写出所有由2个数组参与的合法的数组运算和矩阵指令。

(7)学习使用表8列的常用函数(通过help方法)(8)学习使用表9数组操作函数。

练习B(10)用reshape指令生成下列矩阵,并取出方框内的数组元素。

实验二MATLAB数值及符号运算一、实验目的:1、了解伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范德蒙等矩阵的创建,掌握矩阵的基本运算2、掌握矩阵的数组运算3、掌握多项式的基本运算4、会求解代数方程5、掌握创建符号表达式和矩阵的方法6、掌握符号表达式的微分和积分运算二、实验基本知识:1、创建矩阵的方法:直接输入法;用matlab函数创建矩阵2、矩阵运算:矩阵加、减(+,-)运算矩阵乘(*)运算矩阵乘方inv ——矩阵求逆det ——行列式的值eig ——矩阵的特征值diag ——对角矩阵’——矩阵转置sqrt ——矩阵开方3、矩阵的数组运算:数组加减(.+,.-):对应元素相加减数组乘(.*):a,b两数组必须有相同的行和列,两数组相应元素相乘数组除(./,.\):a./b=b.\a —都是b的元素被a的对应元素除(a除以b)a.\b=b./a —都是a的元素被b的对应元素除(除以a)数组乘方(.^):元素对元素的幂数组点积(点乘):维数相同的两个向量的点乘,其结果是一个标量数组叉积:就是一个过两个相交向量的交点且垂直于两个向量所在平面的向量数组混合积:先叉乘后点乘4、多项式运算poly ——产生特征多项式系数向量roots ——求多项式的根p=poly2str(c,‘x’)(以习惯方式显示多项式)conv,convs多项式乘运算deconv多项式除运算多项式微分polyder(p): 求p的微分polyder(a,b): 求多项式a,b乘积的微分[p,q]=polyder(a,b): 求多项式a,b商的微分5、代数方程组求解1).恰定方程组的解方程ax=b(a为非奇异)两种求解方法: x=inv(a)*b —采用求逆运算解方程x=a\b —采用左除运算解方程2)超定方程组的解方程 ax=b ,m<n时此时不存在唯一解。

x=(a' a)-1 a ' b ——求逆法3)欠定方程组的解matlab可求出两个解:用除法求的解x是具有最多零元素的解是具有最小长度或范数的解,这个解是基于伪逆pinv求得的。

6、复数运算:复数的实虚部、模和幅角计算real_z=real(z)image_z=imag(z)magnitude_z=abs(z)angle_z_radian=angle(z) %弧度单位angle_z_degree=angle(z)*180/pi %度数单位7、符号矩阵的创建1)用matlab函数sym创建矩阵(symbolic 的缩写)命令格式:A=sym('[ ]')2)用字符串直接创建矩阵8、符号矩阵的修改a.直接修改:可用↑、←键找到所要修改的矩阵,直接修改b.指令修改:subs(A, 'new', 'old')来修改9、符号矩阵与数值矩阵的转换将数值矩阵转化为符号矩阵,函数调用格式:sym(A)将符号矩阵转化为数值矩阵,函数调用格式: numeric(A)10、符号微积分与积分变换diff(f) —对缺省变量求微分diff(f,v) —对指定变量v求微分diff(f,v,n) —对指定变量v求n阶微分int(f) —对f表达式的缺省变量求积分int(f,v) —对f表达式的v变量求积分int(f,v,a,b) —对f表达式的v变量在(a,b)区间求定积分11、符号代数方程求解solve(f) ——求一个方程的解solve(f1,f2, …fn) ——求n个方程的解12、符号微分方程求解指令:dsolve命令格式:dsolve(f,g): f ——微分方程,可多至12个微分方程的求解;g为初始条件,默认自变量为 'x',可任意指定自变量't', 'u'等,微分方程的各阶导数项以大写字母D表示三、实验内容:1、生成一个3行3列的随机矩阵,并逆时针旋转90°,左右翻转,上下翻转。

2、已知a=[1 2 3],b=[4 5 6], 求a.\b 和a./ b3、数组和矩阵有何不同?4、已知a=[1 2 3;4 5 6;7 8 0],求其特征多项式并求其根。

5、已知多项式a(x)=x 2+2x+3,b(x)=4x 2+5x+6,求a ,b 的积并微分。

6、求解方程1)⎩⎨⎧=+=+ 133x 2822121x x x2)⎪⎩⎪⎨⎧=+=+=+343 23x 212212121x x x x x3)⎩⎨⎧=++=++ 243x 2132321321x x x x x7、用两种方法创建符号矩阵,A =[ a, 2*b][3*a, 0]并把其中的a 改为c 。

8、计算二重不定积分9、对符号方程f = ax2+bx+c 求解1)对x 求解2)对a 求解。

10、求解微分方程0)0(,1)0(,02222===++dx dyy y dx dy dxy d 。

dxdyxe xy ⎰⎰-实验三MATLAB语言的程序设计一、实验目的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递和赋值二、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。

2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。

while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。

若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。

若表达式的值为假,则程序执行end之后的语句。

2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。

(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。

)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if 表达式1语句1else if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。

2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。

3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。

switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后面的表达式可以是任何类型,如数字、字符串等。

2.当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。

相关主题