您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 实验报告MATLAB
学号:xxxxxxxxxx姓名:xxxxxxxxxxxx时间:201.08.27---201.09.14地点:xxxxxxxxxxx学习内容:一、MATLAB操作基础:1、熟悉MATLAB的主要功能:(1)数值计算和符号计算功能MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。MATLAB和著名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能。(2)绘图功能MATLAB提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。(3)编程语言MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。(4)MATLAB工具箱MATLAB包含两部分内容:基本部分和各种可选的工具箱。MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。2.熟悉MATLAB的运行环境、安装、启动、退出。3.熟悉MATLAB的操作界面,包括菜单栏、工具栏、命令窗口、工作空间窗口、当前目录窗口、历史记录窗口。4.熟悉MATLAB联机帮助系统。二、数据结构与类型1.常量与变量(1)常用的常量及说明常数说明i虚数单位j同i,虚数单位pi圆周率eps机器浮点精度realmax最大正浮点数realmin最小正浮点数Inf无穷大,包括正无穷和负无穷NaN不定值(2)变量:MATLAB变量的命名必须符合以下规则:变量名应以字母开头变量名可以由字母、数字、下划线混合而成组成变量名字符长度应不大于63变量名区分大小写2.数组与矩阵(1)一维数组的建立#直接创立:以左方括号开始,以空格或逗号为间隔输入元素值,最后以右方括号结尾。#“初值:终值”方式建立,结果会创建以初值开始以终值结束且间隔为1的行向量a。#“初值:间隔:终值”方式建立。#用linspace创立,则会创建以初值开始,以终值结束的,共有n个元素的行向量a。#利用logspace创立:则会创建以初值开始,终值结束且共有n个对数分割量的行向量。(2)一维数组的寻址与赋值:数组元素的访问用下标完成,X(n)表示数组中的第n个元素。(3)二维数组的创建、寻址与赋值。(4)多维数组的创建。(cat函数的应用)(5)矩阵的创建直接使用输入法创建矩阵时,应当注意以下几点:#矩阵大小不可预先定义;#矩阵元素可为运算表达式。若不想获得中间结果,可以用“;”结束;#无任何元素的空矩阵也是合法的#矩阵的同行元素之间可由空格或“,”分隔,行与行之间要用“;”或回车符分隔。(6)矩阵的表示及子矩阵:矩阵可以通过标量、向量、冒号标志来引用和赋值,从而产生新的矩阵。注意矩阵中冒号的使用及“0~1”向量标志方式:A(11,:)、A(:,12)、A(11,22),这种标志方法要和关系运算配合使用。(7)矩阵的结构变换:用户可以通过矩阵旋转、改变维数和截取部分元素来产生用户所需要的新矩阵。NATLAB提供了一些常用的矩阵变换函数,例如B=rot90(A)、U=triu(A)等。(8)逻辑类型创建逻辑类型矩阵或者数组的函数主要有三个:#logical函数。可将任意类型的数组转化为逻辑类型。其中非零元素为真,零元素为假。#true函数。产生逻辑真值数组。#false函数。产生逻辑假值数组。MATLAB中还有若干函数是以is开头,这类函数是用来完成某种判断功能的函数。例如issnan函数判断输入参数是否为NaN,isnumeric函数判断输入参数是否为数字类型。(9)逻辑运算(MATLAB中能够处理的逻辑类型运算与C语言比较类似)需要说明的是,参与逻辑运算的操作数不一定必须是逻辑类型的变量或常数,也可以使用其他类型的数据进行逻辑运算,但是运算的结果一定是逻辑类型的数据。(10)关系运算:关系运算是用来判断两个操作数关系的运算,MATLAB中的关系运算符和C语言的关系运算符基本一致,主要有6种。参与关系运算的操作数可以使用各种类型的变量或者常数,运算的结果是逻辑类型的数据。标量可以和矩阵或者数组进行比较,比较的时候将自动扩展标量,返回的结果是和数组同维的逻辑类型数组,如果进行比较的是两个数组,则数组必须是同维的,且每一维的尺寸也必须一致。(11)创建字符串在MATLAB中所有字符串都是用单引号界定后输入或赋值(yesinput除外),同样,二维数组的(字符串)的建立也十分简单,可以像数值数组的建立一样直接输入。(12)类型转化在MATLAB中,提供了相应函数完成数制的转化,最常用的是“num2str”和“str2num”。(13)比较字符串两个字符串进行比较一般有以下几种状况:#比较两个字符串或两个字符串中的子字符串是否相等;#比较两个字符串中的个别字符是否相等;#先将字符串分成几个部分,再判断每个部分是否为空白字符。(14)掌握字符串的字符分类及其查找与替换掌握结构数组的创建、数据获取、其中的操作、结构数组的大小及其嵌套。使用结构数组索引,能获得结构数组中的任何字段值或字段元素。相似的,可以给任何字段或字段单元赋值。在结构数组名后面添加索引范围,可以获取子数组。三、数值计算及数据分析1.因式分解:(1)行列式、逆和秩在MATLAB中,下列命令用来计算矩阵A的行列式、逆和矩阵的秩。det(A):求方阵A的行列式;rank(A)求A的秩;inv(A)求方阵A的逆矩阵;pinv(A)求矩阵的伪逆;trance(A)求矩阵A的迹,也就是对角线元素之和。通过上机的实践操作,我们可以总结出以下规律:#只有方阵的行列式才有意义#只有方阵的逆才有意义,但如果方阵的行列式为0,则方阵不存在逆矩阵#如果方阵的逆矩阵存在,因为伪逆和逆相同#如果方阵的逆矩阵存在,他的逆矩阵的行列式等于1、det(A)#矩阵的秩和它的转置的秩相同#实数矩阵的行列式和它的转置矩阵的行列式相同(2)LU因式分解在MATLAB中,求矩阵A的LU分解的调用函数是lu,调用格式如下:【L,U】=lu(A)另外,矩阵A的LU分解允许线性系统A*x=b用下面的表达式快速求解:X=U\(L\b);(3)QR因式分解正交分解或QR分解法是将矩阵分解成一个单位正交矩阵和上三角矩阵(4)范数在MATLAB中可以使用命令norm得到不同的范数:Norm(x):此用法用于求欧几里得范数;Norm(x,inf)、norm(x,1)、norm(x,p)等。矩阵的范数是用来衡量矩阵的大小的,和矩阵的行与列的概念是不一样的。由于数据或数字计算中的扰动,矩阵范数常用来估计误差。2.矩阵特征值和奇异值(1)特征值和特征向量的求取在MAATLAB中,计算矩阵A的特征值和特征向量的函数式E=eig(A),常用的调用格式有以下三种:#E=eig(A),此方法用于求矩阵A的全部特征值,构成向量E;#[V,D]=eig(A):此方法用于求矩阵A的全部特征值,构成对角矩阵D,并求A的特征向量构成V的列向量;#[V,D]=eig(A,'nobalance')(2)奇异值分解奇异值分解由svd函数实现,其调用格式为[U,Sv]=svd(A)3.数据分析和统计(1)基本的数据分析函数#cumprod函数该函数用来求阵列或向量的累积积。该函数的调用格式如下:B=cumprod(A),此方法表示若A为一个向量,则返回该向量所有元素的累积积,若A为阵列,则返回该阵列各列元素的累积积,即返回一个行向量。#cumsum函数,该函数用于求阵列或向量的累积和,调用格式如下:B=cumsum(A),B=cumsum(A,dim);#cumtrapz函数该函数用于求累计的梯形数值积分,调用格式如下:Z=cumtrapz(Y);此方法表示通过梯形积分法计算单位步长时Y的累积积分值,若步长不是一个单位量,则算出的Z值还应该乘以步长。Z=cumtrapz(x,Y)此方法:表示采用梯形积分求Y对x的积分,注意x和Y的长度必须相等;Z=cumtrapz(x,Y,dim),或Z=cumtrapz(Y,dim):此方法表示对Y的dim维求积分,X的长度必须等于size(Y,dim)。#max(min)函数#mean函数:该函数用于求向量或矩阵中的平均值,调用格式如下:M=mean(A),M=mean(A,dim);#median函数:该函数用于求向量或矩阵的中位置,它是统计工具箱中函数,将矩阵和向量作为样本。然后求该样本的中指,其调用语法与与mean函数类似。#prod函数:该函数用于求阵列元素的积,其调用格式为;B=prod(A),B=prod(A,dim)#sort函数与sortrows函数sort函数用于对矩阵按列的升序进行排列,调用语法如下;B=sort(A),B=sort(A,dim),[B,index]=sort(A)#std函数:该函数用于求向量或矩阵中元素的标准差。#sum函数:该函数用于求矩阵列元素或向量的和。4.数值积分掌握并了解一元函数的数值积分、二重积分的数值计算及三重积分的数值计算。5.微分方程:常微分方程及偏微分方程。四、符号运算1.符号变量与符号矩阵MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1)sym函数格式:符号量名=sym(‘表达式')说明:该函数可以建立一个符号变量,表达式可以是字符、字符串、数学表达式、字符表达式等。(2)syms函数函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。格式:syms符号变量名1符号变量名2…符号变量名n说明:一次创建多个符号变量用这种格式定义符号变量时不要在变量名上加字符串分界符(‘’),变量间用空格而不要用逗号分隔。符号变量在工作空间窗口数据类型名为sym2.常用函数符号表达式的运算和普通数值运算的不同:(1)运算结果都是符号表达式或符号矩阵(2)符号计算占用时间和内容多(3)计算结果最精确补充:digits和vpa函数digits(n)功能:设定计算精度和改变默认的有效位数函数。其中n为所期望的有效位数,默认值为32位。vpa的格式为:S=vpa(s,n),功能:将s表示为n位有效位数的符号对象。3.符号极限limit函数的调用格式为:(1)limit(f,x,a):求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。(2)limit(f,a):求符号函数f(x)的极限值。由于没有指定符号函数f(x)的自变量,则使用该格式时,符号函数f(x)的变量为函数findsym(f)确定的默认自变量,即变量x趋近于a。(3)limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。(4)limit(f,x,a,'right'):求符号函数f的极限值。'right'表示变量x从右边趋近于a。(5)limit(f,x,a,‘left’):求符号函数f的极限值。‘left’表示变量x从左边趋近于a。4.符号导数diff函数用于对符号表达式求导数。该函数的一般调用格式为:diff(s):没有指定变量和导数阶数,则系统默认变量对符号表达式s求一阶导数。diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。diff(s,n):按默认变量对符号表达式s求n阶导数,n为正整数。diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。5.符号积分符号积分由函数int来实现。该函数的一般调用格式为:int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间[a,b]上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。当函数f关于变量x在闭区间[a,b]上可积时,
本文标题:实验报告MATLAB
链接地址:https://www.777doc.com/doc-2460457 .html