《matlab数值向量和数组.ppt》由会员分享,可在线阅读,更多相关《matlab数值向量和数组.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社第4章 数值向量和数组 教学目标 教学重点 教学过程12/31/20221第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学目标本章将介绍MATLAB 7的数值计算功能,包括MATLAB 7的向量和数组,并介绍它们之间的运算。通过对本章的学习,读者可以编写简单且功能完善的MATLAB 7程序,从而解决各类基本问题,用户可以通过本章逐步掌握MATLAB 7的数值计算方法。12/31/20222第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学重点向量的运
2、算方法关系和逻辑运算12/31/20223第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学过程向量及其运算方法数组及其运算方法多项式的创建和运算方法关系和逻辑运算12/31/20224第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社1.向量及其运算 在命令窗口中直接输入向量 等差元素向量的生成 向量与数的四则运算 向量与向量之间的加减运算点积、叉积和混合积12/31/20225第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)在命令窗口中直接输入向量在MATLAB 7中,生
3、成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式要求是,向量元素用“”括起来,元素之间用空格、逗号或者分号相隔。需要注意的是,用它们相隔生成的向量形式是不相同的:用空格或逗号生成行向量;用分号生成列向量。a2=15,21,27,93,101;a1=15;21;27;93;101;a1a1=15 21 27 93 101 a2a2=15 21 27 93 10112/31/20226第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)等差元素向量的生成 当向量的元素过多,同时向量各元素有等差的规律,此时采用直接输入法将过于繁琐。针对该种情况
4、,可以使用冒号(:)和linspace函数来生成等差元素向量。vec1=10:5:60vec1=10 15 20 25 30 35 40 45 50 55 60 vec2=linspace(10,60,11)vec2=10 15 20 25 30 35 40 45 50 55 6012/31/20227第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)向量与数的四则运算 向量与数的加法(减法):向量中的每个元素与数的加法(减法)运算。向量与数的乘法(除法):向量中的每个元素与数的乘法(除法)运算。vec1=80:-9:10vec1=80 71 62 5
5、3 44 35 26 17 vec1+101ans=181 172 163 154 145 136 127 11812/31/20228第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(4)向量与向量之间的加减运算 向量与向量的加法(减法)运算:向量中的每个元素与另一个向量中相对应的元素的加法(减法)运算。vec1=linspace(200,500,7)vec2=linspace(900,600,7)vec3=vec1+vec2vec3=Columns 1 through 5 1100 1100 1100 1100 1100 Columns 6 throu
6、gh 7 1100 110012/31/20229第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(5)点积、叉积和混合积 两个向量的点积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积 叉积的几何意义是指过两个相交向量的交点,并与此两向量所在平面垂直的向量 向量的混合积的几何意义是它的绝对值表示以向量为棱的平行六面体的体积 12/31/202210第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社点积、叉积运算举例点积 运算 x1=11 22 33 44 x2=1,2,3,4 a=dot(x1,x2)a=
7、330 sum(x1.*x2)ans=330叉积运算 x1=11 22 33x1=11 22 33 x2=1 2 3x2=1 2 3 x3=cross(x1,x2)x3=0 0 012/31/202211第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社2.数组及其运算 数组寻址和排序 数组的基本数值运算 数组的关系运算 数组的逻辑运算 12/31/202212第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)数组寻址和排序 通过对数组下表的访问来实现数组寻址 A=rand(1,5)A=0.9501 0.2311 0
8、.6068 0.4860 0.8913 A(4)ans=0.4860 A(2:3)ans=0.2311 0.6068使用sort函数对数组进行排序 X=3 7 5 0 4 2 sort(X,1)ans=0 4 2 3 7 5 sort(2)ans=212/31/202213第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)数组的基本数值运算 数组的加法(减法)数组的乘法(除法)数组的乘方12/31/202214第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社数值运算举例加减法 X=1 4 7;Y=2 5 8;Z=X
9、-YZ=-1 -1 -1 V=X+YV=3 9 15乘方 X=1 4 7X=1 4 7 Y=2 5 8Y=2 5 8 Z=X.YZ=1 1024 576480112/31/202215第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)数组的关系运算 两个数通常可以用6种关系来进行描述:小于()、小于等于()、大于等于(=)、等于(=)和不等于(=)比较两个元素的大小时,如果结果为1,则表明关系式为真;如果结果为0,则表明关系式为假。例如关系式4+3 P=3 5 0 1 0 12P=3 5 0 1 0 12 y=poly2sym(P)y=3*x5+5*x
10、4+x2+12 disp(y)3*x5+5*x4+x2+1212/31/202220第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社特征多项式输入法MATLAB 7提供了poly函数,使用它可以由矩阵的特征多项式创建多项式。使用该方法生成多项式时,其首项的系数必为1。A=3 1 4 1;5 9 2 6;5 3 5 8;9 7 9 3A=3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 p=poly(A);disp(poly2sym(p)x4-20*x3-16*x2+480*x+1724034232352773/17592186044416 1
11、2/31/202221第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社由多项式的根逆推多项式 如果已知某个多项式的根,那么,使用poly函数,可以很轻松地产生其对应的多项式。roots=-4-2+2i-2-2i 5roots=-4.0000 -2.0000+2.0000i -2.0000-2.0000i 5.0000 p=poly(roots)p=1 3 -16 -88 -160 disp(poly2sym(p)x4+3*x3-16*x2-88*x-16012/31/202222第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大
12、学出版社(2)多项式的运算 多项式的求值 求多项式的根 多项式的四则运算 12/31/202223第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社多项式的求值MATLAB 7提供了两个函数来对多项式进行求值,即polyval和polyvalm。前者以数组为计算单位,后者以矩阵为计算单位。p=1.0000 -20.0000 -16.0000 480.0000 98.0000p=1 -20 -16 480 98 x=4x=4 polyval(p,x)ans=73812/31/202224第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清
13、华大学出版社求多项式的根在MATLAB 7语言里,多项式由一个行向量表示,设为p,它的系数按降序排列,使用roots函数可以求出该多项式的根。其使用格式为roots(p)。p=1 0 3 12-7p=1 0 3 12 -7 roots(p)ans=0.7876+2.4351i 0.7876-2.4351i -2.0872 0.5121 12/31/202225第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社多项式的四则运算 加法和减法 如果两个多项式的向量阶数相同,标准的数组加法有效。当两个多项式的向量阶数不同时,需要在低阶多项式的前边补0,使得它与相加的
14、高阶多项式有相同的阶数。a=8 2 2 8,b=6 1 6 1a=8 2 2 8b=6 1 6 1 c=a+bc=14 3 8 9 Y3=poly2sym(c)Y3=14*x3+3*x2+8*x+912/31/202226第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社多项式的四则运算乘法 使用conv函数对多项式进行乘法运算。格式为c=conv(a,b),其中a和b为两个多项式的系数向量,c为相乘所生成的多项式的系数向量。a=1 2 3 4,b=5 6 7 8;Y1=poly2sym(a)Y1=x3+2*x2+3*x+4 Y2=poly2sym(b)Y2
15、=5*x3+6*x2+7*x+8 c=conv(a,b);Y=poly2sym(c)Y=5*x6+16*x5+34*x4+60*x3+61*x2+52*x+3212/31/202227第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社多项式的四则运算除法 在数值计算中,经常需要用一个多项式去除另一个多项式。在MATLAB 7语言中,使用decon函数来完成该项功能。a=1 2 3 4,b=5 6 7 8;c=conv(a,b);d=deconv(c,a);e=deconv(c,b)x=poly2sym(d),y=poly2sym(e)x=5*x3+6*x2+
16、7*x+8y=x3+2*x2+3*x+4 12/31/202228第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社多项式的四则运算求导和积分 在MATLAB 7语言中,分别使用polyder函数和polyint函数来求多项式的导数与积分。p=3 1 8 8p=3 1 8 8 q=polyder(p)q=9 2 8 p1=polyint(q)p1=3 1 8 012/31/202229第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社4.关系和逻辑运算 关系操作符 逻辑操作符 关系与逻辑函数 NaNs和空矩阵 各种运算符的
17、优先级 12/31/202230第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)关系操作符 关系运算符该运算符的功能关系运算符该运算符的功能=大于等于大于=等于 a=size()a=0 0 b=ones(4,0)b=Empty matrix:4-by-0 size(b)ans=4 0 length(b)ans=0 12/31/202234第4章 数值向量和数组MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社各种运算符的优先级 优 先 级运 算 符最高()(小括号).(转置)(共轭转置).(数组和数值乘方)(矩阵乘方)+(一元加法)-(一元减法)(取反).*(乘法)*(矩阵乘法)./(右除)/(矩阵右除).(左除)(矩阵左除)+(加法)-(减法):(冒号)(小于)(大于)=()大于或等于=(等于)=()不等于&(逻辑与)最低|(逻辑或)12/31/202235第4章 数值向量和数组