您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > MATLAB程序设计实验指导书
MATLAB程序设计实验指导书1MATLAB程序设计实验指导书MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能满足所有的计算需求。在美国及其他发达国家的理工科院校里,MATLAB已经作为一门必修的课程;在科研院所、大型公司或企业的工程计算部门,MATLAB也是最普遍的计算工具之一。有鉴于此,我院开设了《MATLAB程序设计》这门课程,它需要一定的理论基础,同时又具有很强的实践性。如何加强理论课程的学习、加深学生对本课程中的基本理论知识及基本方法的理解,如何培养学生实践动手能力是教学的当务之急。而MATLAB程序设计实验课程就是一种重要的教学手段和途径。实验将MATLAB程序设计的基本方法灵活地运用在数学、电路等课程中,重点突出,内容丰富。同时,注重理论分析与实际动手相结合,以理论指导实践,以实践验证基本原理,旨在提高学生分析问题、解决问题的能力及动手能力,使学生进一步巩固基本理论知识,建立比较全面的MATLAB程序设计的概念。实验注意事项1、实验系统接通电源前请确保电源插座接地良好。2、完成实验后请确保关闭电脑电源及插座电源。MATLAB程序设计实验指导书2实验一矩阵及其运算一、实验目的1、熟悉MATLAB工作环境2、掌握矩阵和数组的创建、寻访和运算二、实验内容验证欧姆定律:iur,其中iur,,分别是电阻(欧姆)、电压(伏特)、电流(安培)。已知u=[0.89,1.20,3.09,4.27,3.62,7.71,8.99,7.92,9.70,10.41],i=[0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257,0.308,0.345]。三、实验器材PC机(装有MATLAB软件)1台四、实验原理4.1Desktop简介MATLABR2006a版的Desktop操作桌面,是一个高度集成的MATLAB工作界面。其默认形式,如图1-1所示。图1-1Desktop操作桌面的默认外貌该桌面的上层铺放着三个最常用的界面:指令窗(CommandWindow)、当前目录(CurrentDirectory)浏览器、历史指令(CommandHistory)窗。在当前目录窗的下面还铺放一个MATLAB内存工作空间(Workspace)浏览器。指令窗该窗是进行各种MATLAB操作的最主要窗口。在该窗内,可键入各种送给MATLAB运作的指令、函数、表达式;显示除图形外的所有运算结果;运行错误时,给出相关的出错提示。历史指令窗该窗记录已经运作过的指令、函数、表达式,及它们运行的日期、时间。该窗中的所有指令、文字都允许复制、重运行及用于产生M文件。当前目录浏览器在该浏览器中,展示着子目录、M文件、MAT文件和MDL文件等。对该界MATLAB程序设计实验指导书3面上的M文件,可直接进行复制、编辑和运行;界面上的MAT数据文件,可直接送入MATLAB工作内存。此外,对该界面上的子目录,可进行Windows平台的各种标准操作。工作空间浏览器该浏览器默认地位于当前目录浏览器的后台。该窗口罗列出MATLAB工作空间中所有的变量名、大小、字节数;在该窗中,可对变量进行观察、图示、编辑、提取和保存。捷径(Start)键引出通往本MATLAB所包含的各种组件、模块库、图形用户界面、帮助分类目录、演示算例等的捷径,以及向用户提供自建快捷操作的环境。4.2数值数组的创建和寻访4.2.1一维数组的创建1、递增/减型一维数组的创建1)“冒号”生成法x=a:inc:ba是数组的第一个元素;inc是采样点之间的间隔,即步长,inc可以缺省,省略时,默认其取值为1;若(b-a)是inc的整数倍,则所生成数组的最后一个元素等于b,否则小于b。2)线性或对数定点法x=linspace(a,b,n)以a、b为左右端点,产生线性等间隔的(1×n)行数组x=logspace(a,b,n)以a、b为左右端点,产生对数等间隔的(1×n)行数组2、其他类型一维数组的创建1)逐个元素输入法这是最简单,但又最通用的构造方法。2)运用MATLAB函数生成法MATLAB提供许多生成特殊数组的函数,表1-1列出了最常用函数。表1-1标准数组生成函数指令含义diag产生对角数组(对高维不适用)eye产生单位数组(对高维不适用)magic产生魔方数组(对高维不适用)rand产生均匀分布随机数组randn产生正态分布随机数组ones产生全1数组zeros产生全0数组random生成各种分布随机数组例1-1一维数组的常用创建方法举例。a1=1:6a2=1:-0.1:0a1=123456a2=Columns1through61.00000.90000.80000.70000.60000.5000MATLAB程序设计实验指导书4Columns7through110.40000.30000.20000.10000b1=linspace(0,pi,4)b1=01.04722.09443.1416rand('state',0)%把伪随机发生器置为0状态c1=rand(1,5)c1=0.95010.23110.60680.48600.89134.2.2二维数组的创建1、小规模数组的直接输入法对于较小数组,从键盘上直接输入最简便。二维数组必须有以下3个要素:1)整个输入数组必须以方括号“[]”为其首尾;2)数组的行与行之间必须用分号“;”或回车键隔离;3)数组元素必须由逗号“,”或空格分隔。2、中规模数组的数组编辑器创建法当数组规模较大,元素数据比较冗长时,就不宜采用指令窗直接输入法,此时借助数组编辑器比较方便。图1-2工作空间变量数组编辑器3、中规模数组的M文件创建法对于经常需要调用的数组,当数组规模较大而复杂时,可以为它专门建立一个M文件。下面通过例子来说明这种M文件的创建过程。例1-2创建和保存数组AM的MyMatrix.m文件。(1)打开文件编辑调试器,并在空白填写框中输入所需数组(见图1-3)。(2)最好在文件的首行编写文件名和简短说明,以便查阅(见图1-3)。(3)保存此文件,并且文件起名为MyMatrix.m。(4)以后只要在MATLAB指令窗中,运行MyMatrix.m文件,数组AM就会自动生成于MATLAB内存中。MATLAB程序设计实验指导书5图1-3利用M文件创建数组4.2.3二维数组元素的标识和寻访二维数组元素及子数组的标识和寻访具有典型性,它既适用于一维数组,又不难推广到高维数组。对二维数组子数组进行标识和寻访的最常见格式见表1-2。表1-2子数组寻访格式汇总表格式使用说明全下标法A(r,c)它由A的“r指定行”和“c指定列”上的元素组成A(r,:)它由A的“r指定行”和“全部列”上的元素组成A(:,c)它由A的“全部行”和“c指定列”上的元素组成单下标法A(:)“单下标全元素”寻访:由A的各列按自左到右的次序,首尾相接而生成“一维长列”数组A(s)“单下标”寻访:生成“s指定的”一维数组,s若是“行数组”(或“列数组”),则A(s)就是长度相同的“行数组”(或“列数组”)逻辑标识法A(L)“逻辑1”寻访,生成“一维”列数组:由与A同样大小的逻辑数组L中的“1”元素选出A的对应元素;按“单下标”次序排成长列组成4.3数组/矩阵运算4.3.1数组/矩阵运算符MATLAB的数组运算和矩阵运算的运算符及其数学意义列于表1-3中,ija和ijb分别是数组(或矩阵)A和B的第),(ji个元素。表1-3MATLAB的数组/矩阵运算符及其数学意义数组运算矩阵运算数学模型描述程序表达数学模型描述程序表达A的非共轭转置A.′A的共轭转置A′ijijbaA+BA+BA+BijijbaA-BA-BA-BijijbaA.*BABA*Bijijijijabba\/或A./B或B.\AAB-1A/BB-1AB\Aijijba^A.^Bijbaa+B或a.+Bijbaa+BMATLAB程序设计实验指导书6ijbaa-B或a.-Bijbaa-Bijbaa.*BaBa*Babbaijij\/或a./B或B.\aabbaijij/\或a.\B或B./aa1BB/a或a\Bijbaa.^BBa(B为方阵时)a^BaijbB.^aaB^(B为方阵时)B^a4.3.2矩阵的标量特征参数MATLAB中用来计算矩阵特征参数的指令如下:rank(A)求矩阵A的秩trace(A)求矩阵A的迹det(A)求矩阵A的行列式例1-3矩阵标量特征参数计算示例。A=reshape(1:9,3,3);r=rank(A)d3=det(A)d2=det(A(1:2,1:2))%求矩阵左上角(2*2)子行列式t=trace(A)r=2d3=0d2=-3t=154.3.3矩阵的变换和特征值分解[R,ci]=rref(A)借助初等变换把A变换成行阶梯矩阵R;ci是行向量,其元素指明A的哪几列是“基”X=null(A)A矩阵零空间的全部正交基,满足AX=0[V,D]=eig(A)A矩阵的特征值、特征向量分解,使AV=VD例1-4简单实阵的特征值分解。A=[1,-3;2,2/3];[V,D]=eig(A)V=0.77460.77460.0430-0.6310i0.0430+0.6310iD=0.8333+2.4438i000.8333-2.4438i五、实验步骤1、熟悉MATLAB工作环境2、创建数组/矩阵,实现其运算MATLAB程序设计实验指导书7六、实验思考题1、输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,…,10。2、输入A=[715;256;315],B=[111;222;333],执行下列指令并说出其含义: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./AMATLAB程序设计实验指导书8实验二符号计算一、实验目的掌握符号对象的创建及符号计算二、实验内容1、计算行列式222244441111abcdabcdabcd的值。2、求符号矩阵333231232221131211aaaaaaaaaA的行列式值和逆,所得结果采用“子表达式置换”简洁化。3、计算二重积分dydxyxx)(112222。三、实验器材PC机(装有MATLAB软件)1台四、实验原理4.1生成符号对象的基本规则1)任何基本符号对象(数字、参数、变量、表达式)都必须借助专门的符号函数指令sym或syms定义;2)任何包含符号对象的表达式或方程,将继承符号对象的属性。4.2符号计算中的算符1)基本运算符算符“+”、“-”、“*”、“\”、“/”、“^”分别表示符号矩阵运算法则的加、减、乘、左除、右除、求幂运算;算符“.*”、“.\”(或“./”)、“.^”分别表示数组对应元素间的乘、除、求幂;算符“′”、“.′”分别实现矩阵的共轭转置、非共轭转置。2)关系运算符在符号对象的比较中,只有是否“等于”的概念。算符“==”、“~=”分别对算符两边的对象进行“相等”、“不等”的比较,当事实为“真”时,比较结果用1表示;事实为“假”时,比较结果用0表示。4.3符号表达式中的置换操作1)子表达式置换操作[RS,ssub]=subexpr(S,ssub)运用符号变量ssub置换子表达式,并重写S为RS2)通用置换指令RES=subs(ES,old,new)用new置换ES中的old后产生RESRES=subs(ES,new)用new置换ES中的自由变量后产生RES4.4符号积分求积分指令的格式如下:intf=int(f,v)给出f对指定变量v的(不带积分常数的)不定积分intf=int(f,v,a,b)给出f对指定变量v在区间[a,b]上的定积分MATLAB程序设计实验指导书9例2-1求dxxxx11。clearsymsxf=sqrt((1+x)/x)/x;s=int(f,x);s=simple(simple(s)
本文标题:MATLAB程序设计实验指导书
链接地址:https://www.777doc.com/doc-2882211 .html