matlab 第六课
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题
3.今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求 先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi) (i=0,1,2,…,5)值。 4.试编一个m程序,将一维数组x中的N个数按颠倒 的次序重新存储。如N=5,原来x为: x=[ 1 3 5 7 9 ] 而经过颠倒处理后x中数据的次序应该为: x=[ 9 7 5 3 1 ]
一、 基本统计处理
例如:
x=[4 5 6;1 4 8] x= 4 5 6 1 4 8 y=sum(x,1) y= 5 9 14 y=sum(x,2) y= 15 13
一、 基本统计处理
5、求平均值 MEAN函数调用的命令格式有: Y= mean(X):将mean (X)返回矩阵X各列元素之
的平均值赋予行向量Y。若X为向量,则Y为单变量。
一、 基本统计处理
MEDIAN函数调用的命令格式有: Y=median(X):将median(X)返回矩阵X各列元素
的中值赋予行向量Y。若X为向量,则Y为单变量。
源自文库
Y=median(X,DIM): 按数组X的第DIM维方向
的元素求其中值赋予向量Y。若DIM=1,为按列操作; 若DIM=2,为按行操作。若X为二维数组,Y为一个向量; 若X为一维数组,则Y为单变量。
二、 多项式运算及其求根
二、 多项式运算及其求根
二、 多项式运算及其求根
鉴于MATLAB无零下标,故把多项式的 一般形式表达为:
a1 x a2 x
n
n1
an x an1
二、 多项式运算及其求根
1. 多项式求根
命令格式:x=roots(A)。这里A为多项式的系
数A(1),A(2),…,A(N),A(N+1);解得的根赋值给数组X, 即X(1),X(2), …,X(N)。 【例6】试用ROOTS函数求多项式x4+8x3-10的根
二、 多项式运算及其求根
(3)多项式除法
当A、B是由多项式系数组成的向量时,DECONV函数用来对两 个多项式作除法运算。调用的命令格式为:
[Q,r]=deconv(A,B)
本命令的结果:多项式A除以多项式B获商多项式赋 予Q(也为多项式系数向量);获余项多项式赋予r(其 系数向量的长度与被除多项式相同,通常高次项的系数 为0)。
第六讲 数据处理方法 与多项式
一、 基本统计处理
一、 基本统计处理
1、查取最大值 MAX函数的命令格式有: [Y,I]= max (X):将max(X)返回矩阵X的各列中的最大
元素值及其该元素的位置赋予行向量Y与I;当X为向量时,则Y与I 为单变量。
[Y,I]=max(X,[],DIM):按数组X的第DIM维的方向
一、 基本统计处理
[y,l]=max(x) % 查出二维数组x中各列元素的最大值及其这些 % 元素的行下标赋予y,l y= 9 8 7 5 l= 2 1 3 2 [y,l]=max(x,[ ],1) % 本命令的执行结果与上面命令完全相同 y= 9 8 7 5 l= 2 1 3 2 [y,l]=max(x,[ ],2) % 由于本命令中DIM=2,故查找操作在各行中进行 y= 8 9 7 l= 2 1 3
2. 多项式的建立
若已知多项式的全部根,则可以用 POLY 函 数 建 立 起 该 多 项 式 ; 也 可 以 用 POLY函数求矩阵的特征多项式。POLY函 数是一个MATLAB程序,调用它的命令格 式是: A=poly(x)
若x为具有N个元素的向量,则poly(x)建立以x为其根的多项式,且将该多项式的 系数赋值给向量A。在此种情况下,POLY与ROOTS互为逆函数;若x为N×N的矩阵 x,则poly(x)返回一个向量赋值给A,该向量的元素为矩阵x的特征多项式之系数: A(1),A(2),…,A(N),A(N+1)。
二、 多项式运算及其求根
【例7】试用POLY函数对例7.8所求得 的根,建立相应的多项式。
x=[-8.0194 -0.5075 + 0.9736i -0.5075 - 0.9736i 1.0344];
z=poly(x) z= 1.0000 8.0000
0.0000
0.0000 -9.9996
二、 多项式运算及其求根
一、 基本统计处理
【例3】试取下面两个2×3的二维数组x、 y所有同一位置上的元素值大者构成一个 新矩阵p。
x=[4 5 6;1 4 8] % 产生二维数组x x= 4 5 6 1 4 8 y=[1 7 5;4 5 7] % 产生二维数组y y= 1 7 5 4 5 7 p=max(x,y) % 在x,y同一位置上的两个元素中查找出最大值 % 赋予与x,y同样大小的二维数组p p= 4 7 6 4 5 8
二、 多项式运算及其求根
【例9】求例7.8的4次多项式与多项式 2x2-x+3的乘积。
A=[1 8 0 0 -10]; B=[2 -1 3] B= 2 -1 3 C=conv(A,B) C= 2 15 -5 24 -20
10 -30
本例的运行结果是求得一个6次多项式
2x6+15x5-5x4+24x3-20x2+10x-30
4. 多项式的四则运算
(1)多项式加、减 对于次数相同的若干个多项式,可直接 对多项式系数向量进行加、减的运算。如 果多项式的次数不同,则应该把低次的多 项式系数不足的高次项用零补足,使同式 中的各多项式具有相同的次数。
二、 多项式运算及其求根
(2)多项式乘法 若A、B是由多项式系数组成的向量,则 CONV函数将返回这两个多项式的乘积。 调用它的命令格式为: C=conv(A,B) 命令的结果C为一个向量,由它构成一 个多项式。
这是一个4次多项式,它的五个系数依次为:1,8,0,0,-10。下面先产生 多项式系数的向量A,然后求根:
A=[1 8 0 0 -10] A= 1 8 0 0 -10 x=roots(A)
x= -8.0194 -0.5075 + 0.9736i -0.5075 - 0.9736i 1.0344
二、 多项式运算及其求根
一、 基本统计处理
2、查取最小值 MIN函数用来查取数据序列的最小值。 它的用法与命令格式与MAX函数完全一样, 所不同的是执行的结果是最小值。
一、 基本统计处理
3、求中值 所谓中值,是指在数据序列中其值的大 小恰好在中间。例如,数据序列9,2,5,7,12的中值为7 。 如果为偶数个时,则中值等于中间的两 项之平均值。
DECONV 是 CONV 的 逆 函 数 , 即 有 A=conv(B,Q)+r。
二、 多项式运算及其求根
【例10】试用例7.8的4次多项式与多项 式2x2-x+3相除。
A=[1 8 0 0 -10]; B=[2 -1 3]; [P,r]=deconv(A,B) P = 0.5000 4.2500 1.3750 r= 0 0 0 -11.3750 -14.1250
x=[1 8 4 2;9 6 2 5;3 6 7 1] % 产生一个二维数组x x= 1 8 4 2 9 6 2 5 3 6 7 1 y0=median(x) % 按列操作 y0 = 3 6 4 2 y1=median(x,1) % 此时DIM=1,故按列操作,结果y1为行向量 y1 = 3 6 4 2 y2=median(x,2) % 此时DIM=2,故按行操作, 结果y2为列向量 y2 = 3.0000 5.5000 4.5000
一、 基本统计处理
4、求和 命令格式有: Y=sum(X):将sum(X)返回矩阵X各列元素之和赋
予行向量Y;若X为向量,则Y为单变量。
Y=sum(X,DIM): 按数组X的第DIM维的方向的
元素求其和赋予Y。若DIM=1,为按列操作;若DIM=2, 为按行操作。若X为二维数组,Y为一个向量;若X为一 维数组,则Y为单变量。
一、 基本统计处理
例如:
x=[4 5 6;1 4 8]; y1= prod(x,1) y1 = 4 20 48 y2= prod(x,2) y2 = 120 32
一、 基本统计处理
7、 求累计和、累积积、标准方差与升序排序
MATLAB提供的求累计和、累积积、标 准方差与升序排序等函数分别为 CUMSUM、CUMPROD、STD和SORT, 这里仅STD函数为MATLAB程序,其余均 为内部函数。 这些函数调用的参数与操作方式都与上 小节的MEDIAN(中值)函数基本上一样, 因此不作详细的介绍。
查取其最大的元素值及其该元素的位置赋予向量Y与I。
一、 基本统计处理
【例1】查找下面数列x的最大值。
x=[3 5 9 6 1 8] % 产生数列x x= 3 5 9 6 1 8 y=max(x) % 查出数列x中的最大值赋予y y= 9 [y,l]=max(x) % 查出数列x中的最大值及其该元素的位置赋予y,l y= 9 l= 3
一、 基本统计处理
【例4】试分别求下面数列x1与x2的中值。
x1=[9 -2 5 7 12]; y1=median(x) y1 = 7 x2=[9 -2 5 6 7 12]; y2=median(x) y2 = 6.5000 % 奇数个元素
% 偶数个元素
一、 基本统计处理
【例5】对下面二维数组x,试从不同维方向求出其中值。
Y= mean(X,DIM):按数组X的第DIM维的方向
的元素求其平均值赋予向量Y。若DIM=1,为按列操作; 若DIM=2,为按行操作。若X为二维数组,Y为一个向量; 若X为一维数组,则Y为单变量。
一、 基本统计处理
例如:
x=[4 5 6;1 4 8]; y1= mean(x,1) y1 = 2.5000 4.5000 y2= mean(x,2) y2 = 5.0000 4.3333
3. 求多项式的值
POLYVAL函数用来求代数多项式的值, 调用的命令格式为: Y=polyval(A,x)
本命令将POLYVAL函数返回的多项式的值赋 值给Y。若x为一数值,则Y也为一数值;若x为 向量或矩阵,则对向量或矩阵中的每个元素求其 多项式的值。
二、 多项式运算及其求根
【例8】以例7.8的4次多项式、分别取 x=1.2和下面的矩阵的2×3个元素为自变量 计算该多项式的值。
A=[1 8 0 0 -10]; % 例7.8的4次多项式系数 x=1.2; % 取自变量为一数值 y1=polyval(A,x) y1 = -97.3043 x=[-1 1.2 -1.4;2 -1.8 1.6] % 给出一个矩阵x x= -1.0000 1.2000 -1.4000
二、 多项式运算及其求根
7.0000
一、 基本统计处理
6、求积 命令格式有: Y= prod(X):将prod(X)返回矩阵X各列元素之积
赋予行向量Y。若X为向量,则Y为单变量。
Y= prod(X,DIM): 按数组X的第DIM维的方向
的元素求其积赋予向量Y。若DIM=1,为按列操作;若 DIM=2,为按行操作。若X为二维数组,Y为一个向量; 若X为一维数组,则Y为单变量。
商多项式P为0.5x2+4.25x+1.375, 余项多项式r为 -11.375x-14.125。
习题
1.已知某班的5名学生的三门课成绩列表如下: 学生序号 1 2 3 4 5 高等数学 78 89 64 73 68 外语 83 77 80 78 70 MATLAB语言 82 91 78 82 68 试写出有关命令,先分别找出三门课的最高分及其学 生序号;然后找出三门课总分的最高分及其学生序号。 2.针对上小题的成绩表,求出其三门课总分存入数 组ZF,再利用SORT命令对之按降序排序,同时把相应 的学生序号存入数组XH。
一、 基本统计处理
【例2】分别查找下面3×4的二维数组x 中各列和各行元素中的最大值。
x=[1 8 4 2;9 6 2 5;3 6 7 1] % 产生二维数组x x= 1 8 4 2 9 6 2 5 3 6 7 1 y=max(x) % 查出二维数组x中各列元素的最大 值产生赋予行向量y y= 9 8 7 5