




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/实验1Matlb工具熟悉实验目的:1.熟悉Matlab环境,掌握Matlab的主要窗口与功能;2.学会Matlab的帮助使用;3.掌握向量、矩阵的定义、生成方法和基本运算;4.掌握Matlab的基本符号运算;5.掌握Matlab中的二维图形的绘制和控制。实验内容:1.启动Matlab,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。2.实例操作Matlab的帮助使用。3.实例操作向量、矩阵的定义、生成方法和基本运算。4.实例操作Matlab的基本符号运算。5.实例操作Matlab中的二维图形绘制和控制。实验仪器与软件:1.CPU主频在2GHz以上,内存在512Mb以上的PC;2.Matlab7与以上版本。一、Matlab环境与主要窗口的功能运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局如下图:其中,1.主窗口的功能是:主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。2.命令窗口的功能是:对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名与第一行注释全部显示在屏幕上。3.历史窗口的功能是:历史窗口显示命令窗口中的所有执行过的命令,一方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令,4.当前目录窗口的功能是:显示当前目录下所有文件的文件名、文件类型、和最后修改的时间,同时还提供搜索功能,在该窗口下,可以改变当前目录5.M文件编辑器窗口的功能是:MATLAN提供了一个内置既有编辑和调试功能好的程序编辑器;编辑器窗口也有菜单和工具栏,是编辑和调试程序非常方便6..发行说明窗口功能是:该窗口显示MATLAB总包和已安装的工具箱的帮助、演示、GUI工具和产品主页等4个内容。7.工作空间窗口的功能是:该窗口显示所有目前内存中MATLAB变量的变量名、数字结构、字节数以与类型,不同的变量类型分别对应不同的变量名图标8.图形窗口的功能是:利用图形窗口和工具栏中的选项,可以对图形进行线性、颜色、标记三维视图、光照和坐标轴等的设置9.GUI(GraphacalUserInterface)窗口功能是:二、Matlab的帮助使用Matlab提供的联机帮助系统使用户在没有任何资料的情况下就能掌握它的使用和基本操作,作为Matlab的用户应熟练掌握其联机帮助系统的使用,下面是Matlab联机帮助系统的使用方法。通过命令窗口中直接输入help命令将会显示当前帮助系统只能怪包含的所有项目help三、向量的定义、生成和基本运算1:向量的生成a:逐个元素直接输入,向量元素需要用“[]”括起来,元素之间可以用空格、逗号或分号分隔。用空格和逗号分隔生成的行向量用分号分隔生成列向量.例如:h=[345678]f=[3;4;5;6;7;8]b:利用冒号表达式创建通过设定“步长(step)”生成一维行向量,通过格式为:x=x0:step:xn。x0表达向量的首元素值,xn表示尾元素数值限,step表示从第二个元素开始,每一个元素与前一个元素的差值。step=1时,可以省略此项的输入,直接写成x=x0:xn。例:y=0:10:100x=0:100c:定数线性采样生成设定总点数n下,均匀采样生成一维行向量。通用格式为x=linspace(a,b,n)。a,b分别是生成向量的第一个和最后一个元素,n是采样总点数。该指令生成的数组相当于由a:(a-b)/(n-1):b生成的数组。缺省n时,生成100维的行向量。clear%清除工空间中的所有变量x=linspace(6,66,8)y=6:60/7:66z=linspace(6,66)d:定数对数采样生成向量设定总点数n下,经“常用对数”均匀采样生成一维行向量。通用格式为x=logspace(a,b,n)。生成数组的第一个元素值为10a,最后一个元素值为10b,n为采样总点数,缺省时,生成50维的行向量。例如:clear%清除工作空间的所有变量x=logspace(1,8,8)y=1:7/7:8xx=10.^yz=logspace(1,8)2:向量元素的引用格式为:向量名(下标范围或元素所满足的条件)。例:clearrand('state',0)%把均匀分布伪随机发生器置为初始状态x=rand(1,8)%产生(1×8)的均匀分布随机数组x(7)%引用数组x的第7个元素y=x([125])%引用数组x的第一、二、五个元素z=x(1:3)%引用数组x的前三个元素w=x(3:end)%引用数组x的从第三个元素以后的元素v=x(3:-1:1)%由数组x的前3个元素倒排构成的了数组u=x(find(x>0.5))%数组x中大于0.5的元素构成的子数组t=x([12344321])%重复引用数组3:向量与标量、向量与向量的运算①四则运算符号有(+-*/\.*./.\)a:标量a与向量x进行四则运算是a分别与x中的每个元素进行四则运算并生一个与x等长的向量。例如clearx=[4567891011]y=3*x+3z=x/2-1p=4\xb:等长的两个向量才能进行四则运算,向量x与y进行四则运算是这两个向量的对应元素分别进行四则运算并生成一个与它们等长的向量。例如clearx=[123456]y=x*2z=x+yw=x.*yn=x./yd=x.\y②幂运算(.^)a:向量x与标量a的幂运算是对x的每一个元素施行幂运算,例如clearx=[123456]y=x.^3z=3.^yb:向量x与向量y的幂运算是元素对元素的幂运算。例如:clearx=[123456]y=x*2z=x.^yb=y.^x③指数运算、对数运算与开方运算等在MATLAB中,数组的运算实质上是数组内部每个元素的运算,因此,数组的指数运算、对数运算与开方运算等与标量运算完全一样,运算函数分别为“exp”、“log”、“sqrt”等。例如:clearx=[35791113]y=exp(x)z=log(x)t=sqrt(x)四、矩阵的定义、生成和基本运算1.矩阵的创建①a:逐个元素直接输入把矩阵元素需用“[]”括起来,同行元素之间用空格或逗号分隔,行与行之间用分号或回车符分隔矩阵元素可为运算表达式,无任何元素的矩阵称为空矩阵。例如x=[123;456;789]y=[1,2,3;4,5,6;7,8,9]k=[sin(pi/7),cos(pi/4)]T=[]②编写M文件创建大矩阵对于大型矩阵,可通过编写脚本式M文件,然后运行该文件来创建。例如:编写一名为Example10.m的M文件,内容如下。%Example10.m%编写一M文件创建矩阵的示例文件。emn=[4563442245636;0976658645;2950512436;143854259178;45954145245233]ans=1/2*k^2-1/2*kans=1/2*a^2*x^4+1/2*a*x^2ans=1/6*pi^2③通过函数创建特殊矩阵%Example.m%编写一M文件,通过函数创建特殊矩阵的示例文件。%由函数zeros创建全0矩阵。N=4;M=3;A=[12345;23561;44425];B1=zeros(M,N)%生成M×N阶全0阵。C1=zeros(size(A))%生成与A同阶的全0阵。A2=ones(N)%生成N×N阶全1阵。B2=ones(M,N)%生成M×N阶全1阵。C2=ones(size(A))%生成与A同阶的全1阵。%由函数eye创建单位矩阵。A2=eye(N)%生成N×N阶单位矩阵C2=eye(size(A))%生成与A同阶单位矩阵。%由函数rand或randn创建随机矩阵。A3=rand(N)%生成N×N阶均匀分布的随机阵,元素值在(0.0,1.0)区间内。B3=rand(M,N)%生成M×N阶均匀分布的随机阵。C3=rand(size(A))%生成与A同阶阶均匀分布的随机阵。H=hilb(N)%生成N×N阶Hilbert矩阵。2.矩阵元素的引用①相对位置引用格式:变量名(行标,列标)②绝对位置引用格式:变量名(绝对位置索引)clearrand('state',0)A=rand(5,3)A(4)%引用距阵A的第四个元素A(2,3)%引用矩阵A的第二行第三列元素3.矩阵元素的抽取①抽取行clearrand('state',0)A=rand(5,6)A(4,:)%抽取矩阵A的第四行A([23],:)%抽取矩阵A的第二行和第三行B=A([33],:)%抽取矩阵A的第三行和第三行赋值给BC=A(3:end,:)%抽取矩阵A的第三行至最后一行赋值给B②抽取列clearrand('state',0)A=rand(5,6)A(:,3)%抽取矩阵A的第三列A(:,[13])%抽取矩阵A的第一列和第三列B=A(:,[31])%抽取矩阵A的第三列和第一列赋值给B③抽取块clearrand('state',0)A=rand(3,4)B=A([12],[23])%抽取矩阵A的第一、二行与第二、三列交叉的元素赋值给B④抽取矩阵对角线上的元素clearrand('state',0)A=rand(6)%产生(6×6)的均匀分布随机数组V=diag(A)%抽取矩阵A的主对角线上的元素赋值给向量VD=diag(V)%以向量V为对角线元素生成对角矩阵D1=diag(V,2)D2=diag(V,-2)U=diag(A,1)%抽取矩阵A的主对角线上方第一条对角线的元素赋值给向量UL=diag(A,-1)%抽取矩阵A的主对角线下方第一条对角线的元素赋值给向量L⑤抽取矩阵上三角部分和下三角部分clearrand('state',0)A=rand(5)%产生(5×5)的均匀分布随机数组U=triu(A,1)%从矩阵A的主对角线上方第一条对角线开始抽取A的上三角部分U=triu(A,-1)%从矩阵A的主对角线下方第一条对角线开始抽取A的上三角部分L1=tril(A,1)L2=tril(A,-1)4.矩阵的基本数学运算①矩阵的四则运算(+-*/\)与线性代数理论一致,其中,A\B=inv(A)*B=A^-1*B。clearA=[3230;21-46]B=[-13;41;60;79]C=A+B'D=A*BE=B/DF=D\A②矩阵与常数间的运算(+-*/\^)同线性代数理论一致,需注注的是,当进行数除时,常数通常只能做除数。clearA=[1230;21-46]C=A+2D=A*2E=A/2F=2\AG=A([12],[12])^2③矩阵的数组运算(.+.-.*./.\.^)是指同维数组间对应元素之间的加、减、乘、除和幂运算,其中“.+”和“.-”分别与“+”和“-”相同,所以,“.+”和“.-”一般不用。clearA=[7280;51-46]B=A+2C=A.*BD=A./BE=B.\AF=A.^2④矩阵的基本初等运算clearA=[1230;21-46;-1341;6079]A(2,:)=A(2,:)*2%2乘A的第二行A(1,:)=A(1,:)+A(2,:)%2乘A的第二行,加到A的第一行A([23],:)=A([32],:)%交换A的第二行和第三行⑤矩阵的逆运算clearA=[1230;21-46;-1341;6079]B=inv(A)⑥矩阵的行列式运算clearA=[1230;21-46;-1341;6079]B=det(A)⑦矩阵的指数运算clearA=[1230;21-46;-1341;6079]B=expm(A)⑧矩阵的对数运算clearA=[4232;2146;1341;6479]B=expm(A)C=logm(B)D1=logm(A)D2=log(A)⑨矩阵的开方运算clearA=[9232;2146;1341;6479]B=A^2C=sqrtm(B)B1=sqrtm(A)B2=sqrt(A)5.矩阵的一些特殊操作①变维方法:“:”和函数“reshape”。reshape(A,M,N)%将已知矩阵变维成M×N阶矩阵reshape(A,M,N,p,…)%将已知矩阵变维成M×N×P×…阶矩阵cleara=1:12;A=reshape(a,3,4)c=zeros(2,6);c(:)=a(:)②矩阵的变向。cleara=1:12;A=reshape(a,3,4)k=3;dim=1;A1=rot90(A);A2=rot90(A,k);A3=fliplr(A);A4=flipud(A);A5=flipdim(A,dim);②矩阵的扩展与收缩。cleara=1:12;A=reshape(a,3,4)B=eye(3,2)C=ones(2,6)D=[AB;C]%利用小矩阵的组合来生成大矩阵D(6:10,9:10)=4%利用对矩阵标识块的赋值命令生成大矩阵D(:,3:end)=[]%将矩阵标识块置为空以收缩矩阵五、多项式的定义、生成和基本运算 1.多项式的表示对于多项式用行向量表示,把多项式问题转化为向量问题。2.多项式的创建①直接输入系数向量由于在MATLAB中的多项式是以向量形式储存的,因此,直接输入多项式对应的向量,MATLAB会自动将向量元素按降幂顺序分配给各项系数值,向量可以为行向量,也可以是列向量。例如:输入多项式:p=[1-56-33];poly2sym(p)%poly2sym②通过特征多项式创建也就是从矩阵求其特征多项式获得。例如:A=[123;456;789]p=poly(A)poly2sym(p)③由多项式的根创建多项式root=[7-3+6i-3-4i];p=poly(root)poly2sym(p)3.多项式运算①求多项式的值一般调用函数polyval进行计算,例如:p=[11155125];b=[62;0-1];polyval(p,b)②求多项式的根求多项式的根可以有两种方法,一种是直接调用函数roots求解多项式的所有根;另一种是通过建立多项式的伴随矩阵再求其特征值的方法得到多项式的所有根。两种方法求得的根是相等的。例如:p=[2-56-19];roots(p)P=compan(p)eig(p)3.多项式的乘除法运算多项式的乘法由函数conv来实现,除法则由函数deconv来实现,例如:p=[2-56-19];poly2sym(p)d=[3-90-18];poly2sym(d)pd=conv(p,d)poly2sym(pd)p1=deconv(pd,d)4.多项式的微分多项式的微分由函数polyder来实现,例如:p=[2-56-19];poly2sym(p)Dp=polyder(p)poly2sym(Dp)5.多项式拟合多项式拟合的实现,一面可以由矩阵的除法求解超定方程来进行;另一方面可调用函数polyfit来实现,调用方法如下:[p,s]=polyfit(X,Y,n)其中,X、Y为拟合数据,n为拟合多项式的次,p为拟合多项式的系数向量,s为拟合多项式系数向量的结构信息,例如:x=0:pi/20:pi/2;y=sin(x);p=polyfit(x,y,5)x1=0:pi/30:pi*2;y1=sin(x1);y2=polyval(p,x1);plot(x1,y1,'b-',x1,y2,'r+')legend('原曲线','拟合曲线')axis([07-1.29])五、Matlab的基本符号运算1:符号表达式的生成⑴用引号来生成符号表达式,例如f='exp(x)';f='a*x^2+b*x+c=0';f='Dy-y=x'⑵用sym来生成符号表达式,例如f=sym('exp(x)');f=sym('a*x^2+b*x+c=0')⑶用函数syms来生成符号函数,例如symsyu;p=exp(y/u)2符号表达式的运算⑴提取分子、分母,例如f=sym('a*x^2/(b-x)')[n,d]=numden(f)3符号表达式的基本运算4符号表达式的高级运算a:符号表达式的复合函数运算通过compose来实现;例如symsxyt;f=1/x^3;g=tan(y);compose(g,f)compose(g,f,t)b:符号表达式的反函数运算通过函数finverse来实现;例如f=sym(1/sin(x));g=finverse(f)c:符号表达式的符号和运算通过函数symsum来实现;例如k=sym('k');symsum(k)symsum(k,0,n-1)symsum(1/k^2,1,inf)3符号与数值间的转换与符号的可变精度运算a:符号表达式转换成数值表达式p='1+sqrt(2)/2';eval(p)b:数值表达式转换成符号表达式;例如p=1.7071;n=sym(p)n=17071/100004:符号表达式的简化a:见符号表达式类似于数学课本中的形式显示;例如symx;f=taylor(exp(-x)f=1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5pretty(f)b:合并符号表达式中的同类项;例如symsxy;f=sym(x^2*y+y*x-x^2-2*x);f=collect(f)f=(y-1)*x^2+(y-2)*xf=collect(f,y)f=(x^2+x)*y-x^2-2*xc:对符号表达式进行因式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广州临床试验合同范本
- 2025采购商品合同范本
- 国家药品标准制修订研究课题合同书(A类)
- 采购咨询服务合同范本
- 集团公司股权质押合同
- 2025至2030MIM零件行业产业运行态势及投资规划深度研究报告
- 合同范本之加盟合同协议书范本模板
- 新能源汽车企业股份转让与产业链合作合同
- 传媒企业股权对外转让及托管服务合同
- 机械设备购销合同保密及维修保养协议
- 农村网格化管理制度
- 旅行社之间旅游合作合同范本
- 2025年中考语文7-9年级上册必背课文【现代文+古诗文】66篇(打印版)
- 乡镇养老院建设年度工作规划
- 2025山东济南先行投资集团有限责任公司及权属公司社会招聘169人笔试参考题库附带答案详解
- GB/T 45418-2025配电网通用技术导则
- 中国当代文学专题-003-国开机考复习资料
- 《结构化学》课件第9章
- 国际法第十章条约法
- 肠外营养液的规范配置PPT通用课件
- 6kv变电所及低压配电系统的设计
评论
0/150
提交评论