还剩3页未读,继续阅读
文本内容:
实验二MATLAB基本运算实验目的1通过实验,进一步熟悉MATLAB编程环境2掌握MATLAB各种表达式的书写规则以及常用函数的使用3能用MATLAB进行基本的数组、矩阵及符号运算4掌握矩阵分析的方法以及能用矩阵求逆法解线性方程组实验原理1赋值语句1变量=表达式2表达式2矩阵的建立1直接输入法将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分开,不同行的元素之间用分号分开2利用m文件建立矩阵3利用冒号表达式建立一个向量el:e2:e34利用linspace函数产生行向量linspaceabn・实验任务及步骤1变量和数组MATLAB程序的基本数据单元是数组一个数组是以行和列组织起来的数据集合,并且拥有一个数组名数组可以定义为向量或矩阵向量一般来描述一维数组,而矩阵往往来描述二维或多维数组2MATLAB变量的初始化当变量初始化时,MATLAB将会自动建立变量有三种方式初始化MATLAB中的变量1用赋值语句初始化变量,var=expression;2用input函数从键盘输入初始化变量,my_val=inputEnteraninputvalue:;3从文件读取一个数据编程隐患每一行元素的个数必须完全相同,每一列元素的个数也必须完全相同.试图创建一个不同行列拥有不同数目元素的数组,在编译时将会出现错误.表
2.1用于创始化变量的MATLAB函数函数作用zcrosn创建一个nXn军矩蚱zcrosnm面建一不nXm室矩蚱zcrossizcarrB刨建一不与薮纽arr的零短距oncsn创建一个nXn元素全为1矩阵onesnm创建一个nXm元素全为1矩阵cycn的建一不nXn检矩阵cycnjn而屉一个nXm的隼位矩阵icngtlMarr…近向二不而系下而正函三孤薮纸币邕良帝而二雍而良说一sizeCarr应向指比驳面而行薮和制数3矩阵定义与引用一维数组的创建建立方法一直接输入法»A=
[1234]»A=
[1234]建立方法二冒号法例题建立数组A其中A=
[12345]»A=l:l:5»A=l:5建立方法三特殊方法调用格式A=linspace初始量,终止量,数组元素个数B=logspace初始量,终止量,数组元素个数例题生成数组A其中A=[l2345]A=linspace155A=linspace
15.55A=linspace
155.5一维数组的引用引用格式arrayNamen;引用一维数组中的第n个元素arrayNamenl:n2;引用一维数组中的第nl至n2个元素arrayName[nln2];引用一维数组中的第nl和n2个元素arrayNamenln2;引用一维数组中的第nl和r2个元素x例题»A=
[12345]»A3»A1:3二维数组的创建例题myArray=[l23456;654321・・・5sqrt2510-50+5abs-55]二维数组的引用引用格式arrayNamemn;引用二维数组的第m行n列的元素arrayNamem:;引用二维数组的第m行的所有列元素arrayName:n;引用二维数组的第n列的所有行元素arrayNameml:m2n;引用二维数组的第n列中ml至m2行的元素arrayNamemnl:n2;引用二维数组的第m行中nl至n2列的元素arrayName[mlm2]n;引用二维数组的第n列中ml行和m2行的元素arrayNamem[nln2];引用二维数组的第m行中nl列和n2列的元例题»A=[12345;678910]»A1:»A:3»A21:2»A1:224特殊变量在MATLAB中有许多预先定义好的特殊变量在MATLAB中这些特殊变量可以随时使用,不用初始化一些常见的预定义值列在表
2.2表
2.2预定义特殊变量函数用途-pi有15个有效值的3修代我虚数JG这个符号代裹无穷天,它二般情况下总除以0声生的NaN应不祸而袤浚港不薮二蔽由双承运霜布而丁椀面海仅6^clock.适不用麻芟靠证布署而施军「万二一仃「百丁芬「耳;一忌二不%垸祈两富date当前的H丽,他用的将字和形式,in30-Dcc-2007第芟IF茗戛G/ion而葡豆丁忍农商既筋而弹面而两双三而而展不薮ans常用于存储未达式的结果,如果一个结果没有明确的赋值给某个变量5标量运算和数组运算位于赋值号右边的表达式,可以包含标量,数组,括号和数学符号的任一个有效联合运算两标量间的标准运算符号如表
2.3所示表
2.3两标量间的数学运算符运算符代数形式MATLAB形式加号A+BA+B减写A-BA-B乘号AXBA*BJ除号一A/BB指数AA八B表
2.4常见的数组和矩阵运算当我们需要的时候,我们可以运用括号来控制运算顺序括号内的表达式优先于括号外的表达式来计算MATLAB在数组运算中提供了两种不同类型的运算,一种是数组运算arrayoperations一种是矩阵运算matrixo数组运算是一种用于元素对元素的运算也就是说,这个运算是针对两数组相对应的运算使用的注意两数组的行与列必须相同否则,MATLAB将产生错误数组运算可以用于数组与标量的运算当一个数组和一个标量进行运算时标量将会和数组中的每一元素进行运算行目对地矩阵运算则遵守线性代数的一般规则,像矩阵的乘法MATLAB用一个特殊的符号来区分矩阵运算和数组运算在需要区分两者不同的时候把点置于符号前来指示这是一个数组运算例如,.*表
2.4给出的是一些常见的数组和矩阵运算x=A\B是方程A*x=B的解;invA*Bx=B/A是方程x*A二B的解若A为非奇异矩阵,则A\B和B/A可如下获得A\B=invA*BB/A=B*invA求矩阵的秩例题:求矩阵A的秩其中A=[123;456]o»A=[l23;456]rankA矩阵的特征值例题求矩阵A的特征值其中A=[l00;020;003]o»A=[l00;020;003]b=eigA;[cd]=eigA方阵的行列式例题求方阵A的行列式的值其中A=[110;002;05-l]o»A=[l10;002;05-1]detA6实验内容1已知:1234A=347365-48713-1B=2033-27求下列表达式的值:K11=A+6*B和K12=A—B+/其中I为单位矩阵K21=A*B和K22=A*B3长31=万3和长32=人「3K41=A/B和K42=3\A⑸K51=[AB]和K52=:;8A2]6求矩阵A的秩rank;7求矩阵A的行列式determinant8求矩阵A的逆inverse;9求矩阵A的特征值及特征向量eigenvalueandeigenvector求它们的乘积C;将矩阵C的右下角3*2子矩阵赋给D;3下面是一个线性方程组一1/21/31/41求方程的解2将方程右边向量元素/改为53再求解,并比较久的变化和解的相对变化4利用randn函数产生均值为0方差为1的6X6正态分布随机矩阵C利用rand函数产生[01]区间上8义8均匀分布随机矩阵D运算MATLAB形式注释数组加法A+B数组加法和矩阵加法相同数组减法A-B数组减法和矩阵减法相同数组乘法A.*BA和B的元素逐个对应相乘.网数组之间必须有相同的形或其中一个是标量.矩阵乘法A*BA和B的矩阵乘法.A的列数必须和B的行薮相同.数组右除法A./BaSb而元素逐个对应相除AiJ/BiJ两数组之间必须有相同的形,或其中一个是标量.数组左除法AABA和B的元素逐个对应相除BiJ/AiJ两数组之间必须有相同的形,或其中一个是标量.矩阵右除法A/B矩阵除法等价于A*invBinvB是B的逆阵矩阵无除法AB矩阵除法尊价于invB*AinvA是A的逆阵’数组指数运算A.ABAB中的元素逐个进行如下运算Aij『BiJAiJ/BiJ两数组之间必须有相同的形,或其中一个是标量.。