第3讲线性代数和多项式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

矩阵的行列式值 det(A) Inv(A) A^n
矩阵行变换化简 rref(A) 矩阵的转置 A′
求A阶梯形的行最简形式 求A
T
课堂练习:
参考5.1.1矩阵的修改(P80),完成 P113习题5(不能直接输入)、8、9。
参考5.1.1矩阵的修改(P82),完成 P114习题10、11。
矩阵的特征值、特征向量(P86)


如果阶梯形方程组中方程的个数r等于未知量
的个数,那么方程组有唯一的解; 如果阶梯形方程组中方程的个数r小于未知量 的个数,那么方程组有无穷多个解。
例8
求齐次线性方程组(Ax=0)的通解
x1 8 x2 10 x3 2 x4 0 2 x1 4 x2 5 x3 x4 0 3x 8 x 6 x 2 x 0 2 3 4 1
x 取 [0,1] 之间的数,步长为
0.1
y 取 2.3,2.5,2.1,2.5,3.2,3.6,3.0,3.1,4.1,5.1,3.8
判断用什么曲线来进行拟合?

p =polyfit(x,y,n) 多项式数据拟合
功能:
将给定向量 x,y对应的(x[i],y[i])作为数据点,拟合成n
次多项式; 向量x,y具有相同的维数; n为正整数,n值越大则拟和的精度越好; p为多项式的系数向量。
人口统计数字 8.5229 8.7177 8.9211 9.0859 9.2420 9.3717 9.4974 9.6259 9.7542 9.8705
ans= 1 0 3/10 0
解 线 性 方 程 组
0
0
1
0
-11/10
0
0
1
结果分析:行最简形式中最后一行出现了零等于 非零的情况,故方程组无解。
课堂练习:
P115习题20(1),21(1)(4) 。
Matlab多项式运算(P117)
无论是在线性代数中,还是信号处理、自动控制等
理论中,多项式运算都有着十分重要的地位,因此,
x=roots(p):返回多项式的根,注意:matlab 按惯例,多项式是行向量,根是列向量。
3 2 p ( x ) 2 x x 3 ,求p(x)的根。 例:已知
>> p=[2,-1,0,3]; >> x=roots(p)
x= 0.7500 + 0.9682i 0.7500 - 0.9682i -1.0000
北京科技大学数学实验
下表是1971年到1990年我国总人口的统计数字,试根据 1971年到1985年这15年人口的统计数字用多种方法预测未来 20年的人口Байду номын сангаас字,并比较1986年到1990年间预测人口数字与 实际统计数字的差异,在你所使用的几种预测方法中找出一 种较为合理的预测方法。
年份 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980
Legend(‘拟合点’,’二次拟合’,’三次拟合’,’七次拟 合’)
预测模型实验
北京科技大学数学实验
人口预测
问题的提出: 据考古学家论证,地球上出现生命距今已有20亿年, 而人类的出现距今却不足200万年。纵观人类人口总数的增 长情况,我们发现:1000年前人口总数为2.75亿。经过漫 长的过程到1830年,人口总数达10亿;又经过100年,在 1930年,人口总数达20亿;30年后,在1960年,人口总数 为30亿;又经过15年,1975年的人口总数是40亿;12年之 后即1987年,人口已达50亿。 我们自然会产生这样一个问题:人口增长的规律 是什么?
多项式四则运算
多项式加减运算:Matlab没有提供专门进行多项式 加减运算的函数,事实上,多项式的加减就是其所对 应的系数向量的加减运算。
对于次数相同的多项式,可以直接对其系数向量 进行加减运算; 如果两个多项式次数不同,则应该把低次多项式 中系数不足的高次项用0补足,然后进行加减运算。
MATLAB为多项式的操作提供了相应的函数库
polyfun;
Matlab的多项式表示
在 Matlab 中,n 次多项式是用一个长度为 n+1 的向量来表示,缺少的幂次项系数为 0。例如:
p( x) an x an1x
n
n1
a1x a0
在 Matlab中,用其系数的行向量表示该多项式:

poly2str(p, ‘x’)
将多项式表示成习惯的 形式
x=0:.1:1; y=[2.3 2.5 2.1 2.5 3.2 3.6 3.0 3.1 4.1 5.1 3.8]; p2=polyfit(x,y,2); p3=polyfit(x,y,3);p7=polyfit(x,y,7) disp(‘二次拟和’),poly2str(p2,'x') disp(‘三次拟和’),poly2str(p3,'x') disp(‘七次拟和’),poly2str(p7,'x') x1=0:0.01:1; y2=polyval(p2,x1); y3=polyval(p3,x1); y7=polyval(p7,x1); plot(x,y,'rp',x1,y2,’g-’,x1,y3,’b--’,x1,y7,’k-.’)
有无穷多个解
x3 1 0 取x3,x4为自由未知量,分别令 0 , 1 x 4
得方程组的一个基础解系为:
4 3 / 4 1 1 0

0 1 / 4 2 0 1
所以方程的通解为
解 线 性 方 程 组
x1 4 0 x 3 / 4 1 / 4 2 k k2 1 x3 1 0 0 1 x4
其中 k1, k2 是任意实数
例9 求非齐次方程组(Ax=b,A不是可逆方阵)的解
矩阵的基本运算
矩阵特征值、特征向量
解线性方程组 多项式及相关运算
用数值方法计算定积分
矩阵的修改(P80)
A(i, j) A(i, :) A(:, j) A(i:j ,:) A(:, i:j ) 表示矩阵A的第i行第j列元素 表示矩阵A的第i行元素 表示矩阵A的第j列元素 表示矩阵A的第i~j行元素 表示矩阵A的第i~j列元素 表示空矩阵
矩阵的特征多项式
p=poly(A) 若A为矩阵,则p为A的特征多项式系数; 若A为行向量,则p为以A为根的特征多项式系数。 poly2str(p,’x’) 例1 得到多项式的习惯形式
A=[1,-1;2,4]; p=poly(A) poly2str(p,’x’) p=[1 -5 x^2-5x+6 6]
多项式的导数
k=polyder(p): 返回多项式p的一阶导数;
k=polyder(p,q): 返回多项式p与q乘积的一阶导数; [k,d]=polyder(p,q):返回p/q 的导数,k是分子,d是分母。
3 2 p ( x ) 2 x x 3, q( x) 2 x 1 , 例:已知 求 p' , ( p q)', ( p / q)'
b=[4;1]
X=inv(A)*b ans X= 1.4000 0.4000 方程的解是:x=1.4, y=0.4
2 、左除与右除法 例: 求方程组 (Ax=b,A是可逆方阵)的解
解 线 性 方 程 组
2 x 3 y 4 x y 1
解: A=[2,3;1,-1]; b=[4;1] X=A\b X= 相当于 AX=b,X=A\b
ans
如果是XA=b,
1.4000 0.4000
则X=b/A
方程的解是:x=1.4, y=0.4
3 、初等变换法(P96)
在线性代数中用消元法求线性方程组的通解的过程为: 1、用初等变换化线性方程组为阶梯形方程组,把最
解 线 性 方 程 组
后的恒等式“0=0”去掉; 2、如果剩下的方程当中最后的一个等式是零等于非 零的数,那么方程无解。否则有解; 3、在有解的情况下:
[an , an1, , a1, a0 ]
3 2 例: 2 x x 3
p [2, 1, 0, 3]
向量转换为多项式poly2str(p,’x’) 注:系数中的零不能省!
f=poly2str(p,'x') f= 2 x^3 - 1 x^2 + 3
多项式求根
求解多项式的根,即p(x)=0的解。在matlab中,求解多项式的 根由roots函数命令来完成。
[]
例5-1 A=magic(3)
矩阵的基本运算
数乘 矩阵的左除 矩阵的右除 矩阵的逆 矩阵的乘幂 k*A A\B A/B
注意 K是一个数,A是一个矩阵 AX=B, X=A-1B, A必须是方阵 XB=A,X=AB-1, B必须是方阵 A必须为方阵 A必须为方阵,|A| ‡ 0 A必须为方阵,n是正整数
[V,D]=eig(A)
A必须为方阵。返回A的特征值矩阵D(主对角线的元素为 特征值)与特征向量矩阵V(列向量和特征值一一对应), 满足AV=VD。
例1
A=[1,-1;2,4]; [V,D]=eig(A) V= D= -0.7071 0.4472 0.7071 -0.8944 2 0 0 3 方阵A的特 征向量矩阵 方阵A的特 征值矩阵
解 线 性 方 程 组
解: Matlab命令为 A=[1 -8 10 2;2 4 5 -1;3 8 6 -2]; 系数矩阵
rref(A)
ans= 1 0 4 0
行的最简形式
0
0
1
0
-3/4
0
-1/4
0
分析:
将0=0的一行去掉,则原方程组等价于 方程的个数<未知量个数
x1 4 x3 3 1 x2 x3 x4 4 4
ans
有三种方法:1、求逆法(P95) 例: 求方程组 (Ax=b,A是可逆方阵)的解
解 线 性 方 程 组
2 x 3 y 4 x y 1
解: A=[2,3;1,-1]; 相当于
2 3 x 4 1 1 y 1
>> k1=polyder([2,-1,0,3]); >> k2=polyder([2,-1,0,3],[2,1]); >> [k2,d]=polyder([2,-1,0,3],[2,1]);
课堂练习:
P117-121例题 。
多项式的拟合
顾名思义多项式拟合是利用多项式最佳的拟合通过实验获 得的数据,使得在实验数据点处的误差平方和最小(最小 二乘法)。
多项式求值
多项式求值函数polyval 利用该函数可以求得多项 式在某一点的值。
y=polyval(p,x):返回多项式p在x点的值
其中:x可以是复数,也可以是矩阵; 例:已知 p( x) 2 x 3 x 2 3,分别取 x=2和一个2x2矩阵, 求 p(x)在 x处的值 >> p=[2,-1,0,3]; >> x=2;polyval(p,x) 15 >> x=[-1, 2;-2,1];polyval(p,x) [0 15;-17 4]
>> p=[2,-1,0,3]; >> q=[2,1]; >> k=conv(p,q); poly2str(k,’x’) ans=4x^4 - 1x^2 + 6x + 3
多项式除法运算:[k,r]=deconv(p,q)
其中k返回的是多项式p除以q的商,r是余式。
[k,r]=deconv(p,q) <==> p=conv(q,k)+r
例: p1 2 x 3 x 2 3 p2 2 x 1 p1 p2 2 x 3 x 2 2 x 4
[2, 1, 0, 3] [ 0, 0, [ 2, 1] [2, 1, 2, 4]
多项式乘法运算: k=conv(p,q)
例:计算多项式 2 x 3 x 2 3 和 2 x 1 的乘积
4 x1 2 x2 x3 2 3 x1 1x2 2 x3 10 11x 3 x 8 2 1
解 线 性 方 程 组
解: Matlab命令为 A=[4 2 -1;3 -1 2;11 3 0]; b=[2;10;8]; B=([A,b]) 增广矩阵=系数矩阵+常数项 rref(B)
相关文档
最新文档