版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 数值向量和数组 介绍MATLAB 7的数值计算功能,包括MATLAB 7的向量和数组及它们之间的运算。 通过本章逐步掌握MATLAB 7的数值计算方法。教学过程 向量及其运算方法 数组及其运算方法 多项式的创建和运算方法 关系和逻辑运算(1)在命令窗口中直接输入向量 在MATLAB 7中,生成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式要求是,向量元素用“ ”括起来,元素之间用空格、逗号或者分号相隔。需要注意的是,用它们相隔生成的向量形式是不相同的:用空格或逗号生成行向量;用分号生成列向量。 a2=15,21,27,93,101; a1=15;21;27;93;101
2、; a1 a1 = 15 21 27 93 101 a2 a2 = 15 21 27 93 101 1.向量及其运算 (2)等差元素向量的生成 当向量的元素过多,同时向量各元素有等差的规律,此时采用直接输入法将过于繁琐。针对该种情况 ,可以使用冒号(:) 和linspace函数来生成等差元素向量。 vec1=10:5:60 vec1 = 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 60(3) 向量与数的四则运算 向量与数的加法(减法):向量中的每个元
3、素与数的加法(减法)运算。 向量与数的乘法(除法):向量中的每个元素与数的乘法(除法)运算。 vec1=80:-9:10 vec1 = 80 71 62 53 44 35 26 17 vec1+101 ans = 181 172 163 154 145 136 127 118 (4)向量与向量之间的加减运算 向量与向量的加法(减法)运算:向量中的每个元素与另一个向量中相对应的元素的加法(减法)运算。 vec1=linspace(200,500,7) vec2=linspace(900,600,7) vec3=vec1+vec2 vec3 = Columns 1 through 5 1100 1
4、100 1100 1100 1100 Columns 6 through 7 1100 1100 (5) 点积、叉积和混合积 两个向量的点积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积 叉积的几何意义是指过两个相交向量的交点,并与此两向量所在平面垂直的向量 点积 运算 x1=11 22 33 44 x2=1,2,3,4 a=dot(x1,x2) a = 330 sum(x1.*x2) ans = 330 叉积运算 x1=11 22 33 x1 = 11 22 33 x2=1 2 3 x2 = 1 2 3 x3=cross(x1,x2) x3 = 0 0 0(1) 数组寻址 通
5、过对数组下表的访问来实现数组寻址 A=rand(1,5) A = 0.9501 0.2311 0.6068 0.4860 0.8913 A(4) ans = 0.4860 A(2:3) ans = 0.2311 0.60682. 数组及其运算 (2)数组的基本数值运算 数组的加法(减法) 数组的乘法(除法) 数组的乘方加减法 X=1 4 7; Y=2 5 8; Z=X-Y Z = -1 -1 -1 V=X+Y V = 3 9 15 乘方 X=1 4 7 X = 1 4 7 Y=2 5 8 Y = 2 5 8 Z=X.Y Z = 1 1024 5764801(3)数组的关系运算 两个数通常可以用
6、6种关系来进行描述:小于()、小于等于()、大于等于( =)、等于(= =)和不等于( =) 比较两个元素的大小时,如果结果为1,则表明关系式为真;如果结果为0,则表明关系式为假。例如关系式4+3 P=3 5 0 1 0 12 P = 3 5 0 1 0 12 y=poly2sym(P) y = 3*x5+5*x4+x2+12 disp(y) 3*x5+5*x4+x2+12 在MATLAB 7语言里,多项式由一个行向量表示,设为p,它的系数按降序排列,使用roots函数可以求出该多项式的根。其使用格式为roots(p)。 p=1 0 3 12 -7 p = 1 0 3 12 -7 roots(
7、p) ans = 0.7876 + 2.4351i 0.7876 - 2.4351i -2.0872 0.5121 2多项式的根多项式的根求解多项式的根,即p(x)=0的解。格式:格式:r=roots(p)功能:返回多项式p(x)的根。注意,MATLAB按惯例规定,多项式是行向量,根是列向量。3多项式的加减运算多项式的加减运算格式:格式:A=B+C4多项式相乘运算多项式相乘运算格式:格式:w=conv(u,v)功能:返回u和v两向量的卷积,也就是u和v代表的两多项式的乘积。5多项式相除多项式相除格式:格式:q , r=deconv(u , v)功能:给出商多项式q和余数多项式r ,u为被除多项
8、式 6多项式求导函数多项式求导函数polyder格式一:格式一:k=polyder(p)功能:返回多项式p的一阶导数。格式二:格式二:k=polyder(u,v)功 能:返回多项式u与v乘积的导数。格式三:格式三:q,d=polyer(u,v)功 能:返回多项式商u/v的导数, 返回的格式为:q为分子, d为分母。多项式的四则运算 加法和减法 如果两个多项式的向量阶数相同,标准的数组加法有效。当两个多项式的向量阶数不同时,需要在低阶多项式的前边补0,使得它与相加的高阶多项式有相同的阶数。 a=8 2 2 8,b=6 1 6 1 a = 8 2 2 8 b = 6 1 6 1 c=a+b c =
9、 14 3 8 9 Y3=poly2sym(c) Y3 = 14*x3+3*x2+8*x+9多项式的四则运算 乘法 使用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 = 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+32多项式的四则运算 除法 在数
10、值计算中,经常需要用一个多项式去除另一个多项式。在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+7*x+8 y = x3+2*x2+3*x+4 多项式的四则运算 求导和积分 在MATLAB 7语言中,分别使用polyder函数和polyint函数来求多项式的导数与积分。 p=3 1 8 8 p = 3 1 8 8 q=polyder(p) q = 9 2 8 p1=poly
11、int(q) p1 = 3 1 8 0 7多项式求值函数多项式求值函数polyval( )利用函数polyval可以求得多项式在某一点的值。格式:格式:y=polyval(p,x)功能:返回多项式p在x处的值。其中x可以是复数,也可以是数组。8部分分式展开函数部分分式展开函数residue( )格式:格式:r,p,k=residue(b,a)功能:把b(s)/a(s)展开成:snnkpsrpsrpsrsasb2211)()(其中r代表余数数组,p代表极点数组,ks代表部分分式展开的常数项。当分母多项式的阶次数高于分子多项式的阶次数时ks=0多项式的求值 polyval函数对多项式进行求值,以数
12、组为计算单位。 p=1.0000 -20.0000 -16.0000 480.0000 98.0000 p = 1 -20 -16 480 98 x=4 x = 4 polyval(p,x) ans = 73812198201023ssss将其展开成部分分式num=10,20;den=1,8,19,12;res,poles,k=residue(num,den)res = -6.6667 5.0000 1.6667poles = -4.0000 -3.0000 -1.0000k = 部分分式展开 多项式拟合与多项式插值多项式拟合与多项式插值9多项式拟合函数多项式拟合函数polyfit( )格式:
13、格式:p=polyfit(x,y,n)功能:利用已知的数据向量x和y所确定的数据点,采用最小二乘法构造出n阶多项式去逼近已知的离散数据,实现多项式曲线的拟合。其中p是求出的多项式系数,n阶多项式应该有n+1个系数,故p的长度为n+1。10多项式插值多项式插值插值和拟合的不同点在于:插值函数通常是分段的,人们关心的不是函数的表达式,而是插值出的数据点;插值函数应通过给定的数据点。(1)一维插值函数一维插值函数interpl( )格式:格式:yiinterpl (x, y, xi, method)功能:为给定的数据对(x,y)以及x坐标上的插值范围向量xi,用指定所使用的插值方法method实现插
14、值。yi是插值后的对应数据点集的y坐标。插值的方法method有以下6种可供选择: nearest(最邻近插值法)、linear(线性插值)、 spline(三次样条插值)、cubic(立方插值)、pchip(三次Hermite插值)、v5cubic。 所谓数据拟合是求一个简单的函数,例如是一个低次多项式,不要求通过已知的这些点,而是要求在整体上“尽量好”的逼近原函数。这时,在每个已知点上就会有误差,数据拟合就是从整体上使误差,尽量的小一些。多项式拟合多项式拟合-数据最小二乘拟合数据最小二乘拟合例1: 某种铝合金的含铝量为x%,其溶解温度为y摄氏度,由试验测得的x与y的数据表如下,试用最小二乘
15、算法建立x,y的经验公式。ixiyi136.9181246.7197363.7235477.8270584283687292 x=36.9 46.7 63.7 77.8 84 87.5; y=181 197 235 270 283 292; a=polyfit(x,y,1)a = 2.2337 95.3524 x0=0:.1:1; y0=(x0.2-3*x0+5).*exp(-5*x0).*sin(x0); p3=polyfit(x0,y0,3); %先进行三次拟合p3 = 2.8400 -4.7898 1.9432 0.0598多项式如下:2.8400*x3-4.7898*x2+1.9432
16、*x+0.0598 例2:已知数据点来自 用多项式拟合方法在不同阶次下进行拟合。xexxxfxsin)53()(52拟合该数据的程序绘制拟合曲线: x=0:.01:1; ya=(x.2-3*x+5).*exp(-5*x).*sin(x); %原函数数据 y1=polyval(p3,x); %获得新拟合曲线数据 plot(x,y1,x,ya,x0,y0,o)就不同的次数进行拟合: p4=polyfit(x0,y0,4); y2=polyval(p4,x); p5=polyfit(x0,y0,5); y3=polyval(p5,x); p8=polyfit(x0,y0,8); y4=polyval
17、(p8,x); plot(x,ya,x0,y0,o,x,y2,x,y3,x,y4)例1:t = 1900:10:1990;p = 75.995 91.972 105.711 123.203 131.669. 150.697 179.323 203.212 226.505 249.633;对应于美国从1900年到1990年的每10年的人口数,求1975年的人口。由此推断美国1900年到2000年每一年的人口数,并画出图形。一维插值函数一维插值函数interpl推广到多个点计算: t = 1900:10:1990; p = 75.995 91.972 105.711 123.203 131.669
18、.150.697 179.323 203.212 226.505 249.633; x=1965 1975x = 1965 1975 y=interp1(t,p,x)y = 191.2675 214.8585例2:x= 0:1:9;x1=0:0.01:9;y = 0,1.8,2,0.9,0.2,-0.5,-0.2,-1.7,-0.9,-0.3;y1=interp1(x,y,x1,*nearset);y2=interp1(x,y,x1,*linear);y3=interp1(x,y,x1,spline);y4=interp1(x,y,x1,cubic);figure(1)plot(x,y,ko,
19、x1,y1,r-,x1,y2,b-,x1,y3,c:,x1,y4,k-);legend(原始数据,最近点插值,线性插值,样条插值,立方插值)第 3 章 MATLAB在高等数学中的应用 2022-2-23第4章 数值向量和数组29(2)二维插值函数)二维插值函数格式:格式:zi=griddata(x,y,z,xi,yi,method)功能:非等距插值。已知的元素值由3个向量来描述:x、y和z。函数返回值为一矩阵zi,其元素的值由x、y和z确定的二元函数插值得到。method可为:linear(默认值)、cubic 、nearest 、v4 。格式:格式:zi=interp2(x, y, z, x
20、i, yi, method)功能:单调节点插值。已知的元素值由3个向量来描述:x、y和z。其中,x、y是已知数据组并且大小相同,z是相对应的已知点上的函数值;xi、yi是用于插值的矢量; zi是根据相应的插值方法并且与(xi, yi)对应的插值结果。插值方法method:linear(默认值)、cubic 、nearest 、spline 。4.关系和逻辑运算 关系操作符 逻辑操作符 关系与逻辑函数 NaNs和空矩阵 各种运算符的优先级 (1) 关系操作符 关系运算符该运算符的功能关系运算符该运算符的功能=大于等于 大于=等于 a=size() a = 0 0 b=ones(4,0) b =
21、Empty matrix: 4-by-0 size(b) ans = 4 0 length(b) ans = 0 各种运算符的优先级 优 先 级运 算 符最高()(小括号).(转置) (共轭转置) . (数组和数值乘方) (矩阵乘方)+(一元加法) - (一元减法) (取反).*(乘法) *(矩阵乘法) ./(右除) /(矩阵右除) .(左除) (矩阵左除)+(加法) -(减法): (冒号) (小于) (大于) =()大于或等于 =(等于) =()不等于& (逻辑与)最低| (逻辑或)第6章 数值计算功能(矩阵) 介绍MATLAB 7的矩阵以及它们之间的运算。 介绍了一些特殊的矩阵数据
22、结构。1. 矩阵的生成 矩阵的生成有多种方式,通常使用的有4种方法: 在命令窗口中直接输入矩阵 通过语句和函数产生矩阵 在M文件中建立矩阵 从外部的数据文件中导入矩阵 matrix=1 ,1, 1, 1;2, 2, 2, 2;3, 3, 3, 3;4, 4, 4, 4 matrix = 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 46.1 矩阵及其运算2. 矩阵的基本数值运算 矩阵与常数的四则运算 矩阵之间的四则运算 matrix=1 2 1 2; 3 4 3 4; 5 6 5 6; 7 8 7 8matrix = 1 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8
23、 m1=500+matrixm1 = 501 502 501 502 503 504 503 504 505 506 505 506 507 508 507 508m3=10*matrixm3 = 10 20 10 20 30 40 30 40 50 60 50 60 70 80 70 80 A=1 2 1 2; 3 4 3 4; 5 6 5 6; 7 8 7 8A = 1 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8 B=4 4 4 4; 2 2 2 2; 3 3 3 3; 1 1 1 1B = 4 4 4 4 2 2 2 2 3 3 3 3 1 1 1 1 C=A*BC = 13 13 13 13 33 33 33 33 53 53 53 53 73 73 73 733. 特殊矩阵的生成 零矩阵和全1矩阵的生成 (zeros 、ones)例6-6 零矩阵的生成。解:在命令窗口中输入如下命令,并按Enter键确认。 A=zeros(3,5)A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B=2 3 4 5 6;9 8 7 6 5;1 2 3 4 5B = 2 3 4 5 6 9 8 7 6 5 1 2 3 4 5 A=zeros(size(B)A = 0 0 0 0 0 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北单招文化素质补录经典题模拟卷含答案递补考生专用
- 2026年内蒙古单招财经商贸大类会计专业能力测试题库含答案
- 2026年大学教授应聘材料审查常见问题解答
- 2026年导游面试技巧与常见问题解答
- 2026年汽车销售顾问面试技巧及常见问题解答
- 2026年网络直播技术培训教程及考核题库
- 坯料机加工操作水平强化考核试卷含答案
- 商品营业员创新思维竞赛考核试卷含答案
- 饼干制作工复测评优考核试卷含答案
- 纺丝工操作技能竞赛考核试卷含答案
- 2025年事业单位工勤人员高级工图书仓储员考试试题附答案
- 冬季电缆敷设施工专项方案
- 红色展览馆介绍
- GB/T 46237-2025信息技术数字孪生能力成熟度模型
- 印刷外包协议合同范本
- GB 6537-20253号喷气燃料
- 新能源项目-电气试验作业指导书
- 人血白蛋白临床应用管理中国专家共识解读
- 中煤集团技术笔试题目及答案
- 光伏电站班组安全培训课件
- 科研财务助理工作总结
评论
0/150
提交评论