计算机仿真学讲义.docx
《计算机仿真学讲义.docx》由会员分享,可在线阅读,更多相关《计算机仿真学讲义.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机仿真可查询工作空间中有哪些变量。who:只简单地列出工作空间中的变量名字;whos:除变量名之外,还报告更详细的信息,与工作空间窗口显示类似。形式:who2. 装入与存储变量与数据的命令:load和saveload: 一般用于将MATLAB格式的数据文件装入工作空间;形式为load abc save:与load文件相对应,是将当前变量或某些指定变量存入MATLAB数据文 件。如工作空间中有一些变量,可用save abc保存,存为数据文件abc.mat。 如果要保存指定的变量X、Y、Z,那么可写为: save abc X Y Z。3. 清除命令:3c或clearclc:清除命令窗口的显示内
2、容,但不清除工作空间。clcclear:该命令用于清除工作空间中的全部或局部指定变量。clear清除所有变量;clearX YZ清除名为X、Y、Z的变量。4. 命令窗口数据显示格式命令:formatformat命令设置或改变数据的输出格式。如显示:x=4/3 1.2345e-6format short:短格式,该格式显示5位有效数字。显示为:1.3333 0.0000format short e:短格式e 方式。显示为:1.3333e+00 1.2345e-06format long:长格式,显示15位有效数字。显示为:1.33333333333333 0.00000123450000form
3、at long e: 长格式e方式。显示为:1.33333333333333e+00 1.2345000000000e-06format hex: 16 进制格式。format rat:分数格式。显示为:4/3 1/8100455. help 命令:在命令空间中输入help命令,可提供MATLAB的在线帮助。help:列出主要的帮助主题;help帮助主题:列出指定主题下的函数;help函数名:对所选函数的功能、调用格式及相关函数给出说明。6. lookfor 命令:当需要查找具有某种功能的函数但却不知道该函数的准确名称时,可以用lookfor命令。如:lookfor Lyapunov可列出与L
4、yapunov有关的所有函数。7. which 命令:用于显示指定的外部函数(M文件)所在的目录,如指定的是内部函数, 那么系统会显示该函数是内部函数,而不显示目录。如:which abc 那么系统会显示文件abc所在的目录。8. what 命令:列出当前路径下的M文件、MAT文件、MEX文件和Class第二节MATLAB语言的基本语句结构MATLAB语言的规那么十分简单,它是一种表达式语言,其语句类似于数学式子,非 常容易掌握。那么,怎样去写这些数学式子呢? MATLAB也有它的规那么。2. 1 MATLAB的矩阵、变量与表达式在MATLAB系统中,只管理着一种对象-一矩阵(包括复数矩阵),
5、任何数量在 MATLAB中是作为1x1的矩阵来处理的。一 .矩阵的创立:在MATLAB中创立矩阵的原那么: 1)矩阵元素必须写在“口”内; 2)矩阵的同一行之间用空格或“,”分隔; 3)矩阵的行与行之间用分号或回车符分隔; 4)矩阵的尺寸不必预先定义;5)矩阵元素可以是数值、变量、表达式或函数。在MATLAB中矩阵的创立有四种方法。1 .在命令窗口直接输入: 如输入:A=l, 2, 3; 4, 5, 6; 7, 8, 9 A= 1 2 3 4 5 6 7 8 9也可用空格代替逗号,用回车代替分号: 如上例:A=L1 2 3 4 5 6 7 8 9 那么显示:A=1 2 34 5 67 8 92
6、 .由M文件创立矩阵:当矩阵的尺寸较大时,可以按矩阵的输入方式编辑一个M文件(可用循环程序来 做),在命令窗口直接执行该文件,即可将矩阵调入工作空间。3 .由函数创立矩阵:对于一些特殊的矩阵,可以利用MATLAB的内部函数或用户自定义函数创立矩阵。 如diag()函数可生成对角阵。4 .通过数据文件创立矩阵:可用load命令调入数据文件,创立新矩阵。复数矩阵的表示:在MATLAB中,复数的虚根单位用i,j表示,即:z=3+4i或z=3+4j.可用下面的语句输入复数矩阵:A=l 2;3 4+i*5 6;7 8;或A=l+5i 2+6i;3+7i 4+8i二 .MATLAB的变量和表达式:1 .变
7、量用变量名表示。MATLAB变量名是由假设干个字符构成的字符串,构成变量名的字符可以是字母、数 字或下划线,但第一个字符必须是字母。MATLAB6可分辨31个字符,超过31个那么不认。MATLAB中的变量是分辨大小写的,M和m是两个变量。因MATLAB的变量采用统一的数据类型-矩阵,所以无须对变量的类型进行说 明,当需要使用一个新变量时,只须直接对其赋值即可。函数名可作为特殊的变量名看待,但要求是小写字母,如:求矩阵A的逆inv(A), 要是写为Inv (A)那么会出现未定义的警告。2 .表达式那么是由运算符、函数调用、变量名以及特殊字符组成的式子。3 . MATLAB中基本的赋值语句为:变量
8、名=表达式将表达式的结果赋给变量名(表达式的运算结果都是一个矩阵)。等号右边的表达式可以由分号“;”结束,也可以由逗号“,”或换行号结束,但含义不同:分号时,变量结果不显示;逗号或换行号时,那么将结果显示出来。表达式计算表达式的值,将其值赋给MATLAB的永久变量 ans。注:1) MATLAB中有几个不能被clear命令清除的变量,称永久变量。(其他变量名最好不要与此同)。它们是:ans:当不指明某一语句的计算结果赋给哪个变量时,系统自动将该计算结果赋给变量ans;eps:计算机能产生的绝对值最小的浮点数;i, J:虚数单位,即-1的平方根;inf, Inf:正无穷大;nan, NaN:非数
9、,常产生于0/0等运算;Pi:圆周率。2)如果表达式的值太复杂,一行写不下,可以加上三连点“”回车,然后接下去再写。如:s=l-l/2+l/3-l/4+l/5-l/6+l/7-l/8 +1/9-1/10+1/11-1/12;3)在MATLAB函数调用时,MATLAB还允许有这样的形式,如:m, p=bode(n, d, w);4.字符串与字符串变量:MATLAB可将字符串当作数组或矩阵处理。在MATLAB中,字符串用单引号括起 来,如:S= Use Matlab输出结果是:S=Use Matlab字符串存储在行向量中,每个元素对应一个字符,向量的值为字符对应的ASCII 码值。2. 2 MAT
10、LAB的基本运算符1 .矩阵运算符:A -一矩阵A的转置,如果A是复矩阵,那么其运算结果是共辗转置;A+B-一矩阵的加运算,假设A和B的维数相同,那么会将A和B矩阵的相应元素相加; A-B-一矩阵的减运算,假设A和B的维数相同,那么会将A和B矩阵的相应元素相减; A*B矩阵相乘,A的列数与B的行数相等,即A和B矩阵维数相容,维数不相容 是不可乘的。如:An x m, Bm x r, C=A*B, 那么:Cn x r0B/A-一方程X*A=B的解,即*=8*3。称矩阵的右除。AB-一方程A*X=B的解,即乂=3*8。称矩阵的左除。矩阵的除法,其意义相当于矩阵的求逆运算。左除与右除的关系为: b/
11、a=(a, b)。AB-一矩阵的乘方。1) A为方阵,B为正整数时,表示矩阵A的B次乘积;2) B为负整数时,表示矩阵A的逆阵的B次乘积;3) B为非整数时,如8=”!1,那么首先应该将A矩阵自乘n次,然后再对结果开m次方;4) A、B均为矩阵时无意义。A.*B-矩阵的点乘运算,表示A和B阵的对应元素直接相乘,A和B要有相同的 维数。点运算在MATLAB中起重要的作用,如X是一个向量,那么求取X2时不能直接写成 X*X,而必须与成X. *x。A. B, A. /B-一矩阵的点除运算,表示A和B阵的对应元素直接相除,A和B要有相 同的维数。A/B矩阵的点乘方,表示要对其元素逐一进行幕运算。与点乘
12、相似。2 .关系运算符:MATLAB中提供了6种关系运算符,用于比拟两个同维数的矩阵: 小于 -小于或等于 大于 =大于或等于=等于二不等于关系运算符可以用于检查矩阵的元素是否满足某些条件。两个同维数的矩阵比拟 的结果是与它们同维数的0、1矩阵,1表示结果为真,0表示结果为假。3 .逻辑运算符:在MATLAB中,逻辑运算符有3种。& 逻辑与。当运算双方对应元素都为非零时;结果为1,否那么,结果为0。I 逻辑或。当运算双方对应元素有一个为非零时;结果为1,否那么,结果为0。 逻辑非。当元素的值为0时,结果为1,否那么,结果为0。例:a=l 0 3;0 -1 6, b=-l 0 0;0 5 0.
13、3,计算两矩阵对应元素 的逻辑关系。 a&bans 二1 0 00 1 1 a | bans =1 0 10 1 1 aans = 0 1 0 1 0 0ans =0 1 11 0 04 .特殊运算符:在MATLAB中,有一些特殊的符号,具有特殊的意义。1)在MATLAB的M文件中,可以加入解释行,解释行的标识符为:“#,该符号 后面的内容将作为注释内容。2)行分隔符:“;”用在MATLAB语句后,用它时执行结果不显示,可防止显示 一些不感兴趣的结果。3)冒号运算符“:”最主要的作用是生成向量。如:j:k 生成向量j, j+1, j+2, , kj:i:k - 生成向量j, j+i, j+2i
14、, j+3i,-,k (j为起始值,i为步距,k为终 止值,在仿真中经常用于生成时间向量)A(:, j) -一矩阵A的第j列A(i,:) -一矩阵A的第i行A(j:k) -生成向量A (A为向量时,为A的第j到第k个元素,当A为矩阵 时,为A的按列数的第j到第k个元素)例:A =1 2 34 5 67 8 9 A(2:4) ans = 4 7 2A(:, j:k) 矩阵A的从第j列到第k列的矩阵子块A(:,-一矩阵A的第j列和第k列例:A = 1 2 34 5 67 8 9 A(:, 1:2) ans 二 1 24 57 8 A(:, 1,3) ans = 1 34 67 94) MATLAB
15、中允许对一个矩阵的单个元素进行赋值,如:A = 1 2 34 5 67 8 9当执行A(2, 3)=100,那么显示:A = 1 2 34 5 1007 8 9注意:矩阵中元素按列存储,上例中对矩阵元素操作也可这样调用A (8) =8对于一个矩阵中0元素很多,而非0元素很少的情况,可以先形成0矩阵,然后 将非0元素输入。如果给出的行数和列数大于原矩阵范围,那么将自动扩展原来的矩阵,并将扩展后 未赋值的矩阵元素置为0。如: A (4, 5)=8A 二123004560078900000082.3 MATLAB的常用函数1. MATLAB通用函数:包括数学函数和特殊函数。数学函数有:三角函数、指数
16、函数、复数函数、取整和求余函数。三角函数:sin、cos asin (反正弦)、acos (反余弦)、tan (正切)、atan (反正切)、cot (余切)、acot (反余切)等。指数函数:exp (以e为底的指数)、log (自然对数)、loglO (以10为底的对 数)、log2 (以2为底的对数)、pow2 (2的幕次)、sqrt (开平方) 等。复数函数:abs (绝对值或复数的模)、angle (相位角)、complex (由实部和虚 部构造复数)、conj (复数的共辗)、real (复数的实部)、imag (复数 的虚部)等。取整和求余函数:fix (朝0方向取整)、floo
17、r (朝负无穷方向取整)、ceil (朝 正无穷方向取整)、rem (除后取余数)、sign (符号函数)、round (四 舍五入)到最近的整数)等。特殊函数有:特殊数学函数、数理函数、坐标变换。2 .矩阵和数组(向量)函数:det (方阵的行列式)、inv (矩阵的逆)、norm (矩阵或矢量的范数)、normest(矩阵的2范数)、rank (矩阵的秩)、svd (矩阵的奇异值分解)、trace(矩阵的迹)、eig (矩阵的特征值和特征矢量)、expm (矩阵指数)、logm(矩阵对数)、sqrtm (矩阵平方根)等。3 .逻辑和关系函数:all (x)检查x是否全为1 (true)an
18、y(x)检查x是否有不为0的元素exist (x)检查变量的存在性和类别find(x)找出非0元素的位置标识isempty (x)检查是否为空矩阵isinf(x)检查是否为无穷大isglobal (x)检查是否为全局变量issparse(x)检查是否为稀疏矩阵isstr(x)检查是否为字符串and (a, b)逻辑与or (a, b)逻辑或not (a)逻辑非xor (a, b)逻辑异或4 .矩阵的特殊操作函数:在计算机仿真的编程中,常常遇到一些特殊的矩阵,如零矩阵、单位阵、全1阵等 等。下面介绍有关的操作函数。1)零矩阵 zeros(n) nxn的零阵zeros(n,m) n行m列的零阵2)
19、全1阵 ones(n,m) n行m歹U的全1阵3)单位阵 eye(n) nxn的单位阵4)随机阵 randn(n,m)元素为正态分布随机阵5)空矩阵x=将一个0x0阶的空矩阵赋给变量xMATLAB中定义了一个很特殊的矩阵,即空矩阵,它的作用是:利用空矩阵的特 性,可以进行从一个矩阵中消去局部行或列的运算。如:A(:,2,4)=-其运算结果是从矩阵A中削去第2列和第4列的矩阵子块。空矩阵的作用与MATLAB中清除变量命令clear是不相同的。Clear x是从工作环境 中清除变量x,清除后再引用变量x是非法的,而空矩阵仍可引用。6)大矩阵的构造方法:与数学运算一样,MATLAB可以由小矩阵作为矩
20、阵子块来构造大矩阵。如:A是n阶方阵,那么C=A K ; ones (size (A) A/2可创立一个2n阶方阵。在这样的运算中,注意一定要保持阶数的协调性,否那么会给出出错信息。7)多项式的伴随矩阵:compan(x)是线性代数中讲过的重要矩阵。8)对矩阵的特殊操作:rot90(a)将a矩阵旋转90度fliplr(a)将a矩阵的列反序flipud(a)将a矩阵的行反序diag(a,n)抽取矩阵a的第n条对角线上的所有元素,n大于0时,抽取矩阵上方的 第n条对角线,n小于0时,抽取矩阵下方的第n条对角线,n等于0或不 指定n时,抽取主对角线一a为矩阵diag(a)将向量a构成对角阵(元素放在
21、 主对角线上)一a为向量diag(a,n)将向量a构成对角阵(a元素放在第n条对角线上,n的情况与上同)一a为 向量tril(a)提取矩阵的下三角局部triu(a)提取矩阵的上三角局部reshape改变矩阵的阶数,按列的顺序重排。如:A =1 47 1025 8 113 69 12 B=reshape(A,2,6)B 二1 3 5 79 112468 10 12又如:tril(A)ans =1 00025 003 6902.4 MATLAB 语句一.输入输出语句:MATLAB提供了一些输入和输出语句,允许用户和计算机之间进行数据交换。1. INPUT输入函数:在编程时,如果想随时改变输入参数值
22、,可采用input。函数来进行输入,它的调用格 式为:A=input(提示信息,选项);提示信息可以是字符串显示,用它来提示输入的是什么样的数据,如: A=input(Enter matrix A = )Enter matrix A = 1 2 3;4 5 6;7 8 9A =1 23456789如果在input。函数调用时采用了 s选项,那么允许用户输入字符串。如: A=input(fEnter matrix A = ?s)Enter matrix A = matlabA =Matlab2. DISP输出函数:MATLAB提供的输出函数主要有disp()函数,它的调用格式为:disp(A)其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机仿真 讲义
限制150内