数 学 实 验

24
用用用用用用用用用用用用用 用用 用用用 用用用

Upload: july

Post on 21-Jan-2016

148 views

Category:

Documents


0 download

DESCRIPTION

数 学 实 验. 用数学软件解决高等代数问题 主讲 张力宏、张洪刚. 数 学 实 验. 一 多项式运算 二 矩阵和行列式计算 三 线性方程组的解. 用系数矩阵 P=[an,…,a1,a0] 表示多项式. 一 多项式运算. 多项式排版与显示的相关函数 1 、 expand (e) 对表达式 e 进行展开 2 、 factor (e) 对表达式 e( 正整数 ) 进行因式 ( 因子 ) 分解 3 、 horner (e) 把表达式 e 分解成嵌套形式 4 、 simplify (e) 运用多种恒等式转换对 e 进行综合化简 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 数  学  实  验

数 学 实 验用数学软件解决高等代数问题主讲 张力宏、张洪刚

Page 2: 数  学  实  验

数 学 实 验一 多项式运算二 矩阵和行列式计算三 线性方程组的解

Page 3: 数  学  实  验

一 多项式运算

多项式排版与显示的相关函数1 、 expand (e) 对表达式 e 进行展开

2 、 factor (e)    对表达式 e( 正整数 ) 进行因式 ( 因子 ) 分解

3 、 horner (e) 把表达式 e 分解成嵌套形式

4 、 simplify (e)   运用多种恒等式转换对 e 进行综合化简

5 、 simple (e)   运用包括 simplify 的各种指令化简

6 、 pretty (e)    以习惯的“书写”方式显示表达式 e

7 、 collect (e, x) 对表达式 e 中指定的符号对象 x 的合并同类项

8 、 [n,d]=numden(e)   对分式 e 进行通分,提取分子 n 和分母 d

011

1)( axaxaxaxP nn

nn

用系数矩阵 P=[an,…,a1,a0] 表示多项式

Page 4: 数  学  实  验

一 多项式运算 多项式运算的相关函数1 、 r=roots(p) 求多项式 p 的根

2 、 p=conv(p1, p2) 多项式相乘, p 是多项式 p1 和 p2 的乘积多项式

3 、 [q, r]=deconv(p1, p2) 多项式相除, p1/p2 的商多项式为 q ,余多

项式为 r

4 、 p=poly (AR) 矩阵的特征多项式, p 为矩阵 AR 的特征多项式

5 、 dp=polyder(p) 导数多向式, dp 为 p 的导数多项式

6 、 dp=polyder(p1,p2) dp 为 p1,p2 乘积的导数多项式

8 、 [n,d]=polyder(p1,p2) 对有理分式 (p1/p2) 求导所得的分式 (n/d)

9 、 p=polyfit(x,y,n) 求 x,y 向量给定数据的 n 阶多项式拟合

Page 5: 数  学  实  验

验证多项式 的根122 xx

一 多项式运算

p=[1,-2,1] % p 为多项式

x=roots(p) % x 为解向量

验证多项式 ))(( 2233 yxyxyxyx

syms x y %x,y 为符号变量

法一

expand((x-y)*(x^2+x*y+y^2)) % 展开 (x-y)*(x^2+x*y+y^2)

法二

factor(x^3-y^3) % 对 x^3-y^3 进行因式分解

法三

horner(x^3-y^3) % 对 x^3-y^3 进行因式分解

Page 6: 数  学  实  验

一 多项式运算 计算 分子和分母,并化简分子

))((4

yxyxxy

yxyx

syms x y % x,y 为符号变量

[n,d]=numden((x+y)/(x-y)-4*x*y/((x-y)*(x+y))) % 通分计算分子 n 和分母

d

simple(n) % 化简分子 n

年份 1790

1800 1810 1820 1830 1840 1850 1860 1870 1880 1890

人口 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9

年份 1900

1910 1920 1930 1940 1950 1960 1970 1980 1990 2000

人口 76.0 92.0 106.5

123.2

131.7

150.7

179.3

204.0

226.5

251.4

281.4

假设人口服从指数增长模型,即 ,其中 表

示初始人口数, 表示人口增长率, 表示时间, 表示时刻时人口数,请根据以下数据采用最小二乘拟合法(1次多项式拟合)估计出人口增长率 和初始人口

rtextx 0)( 0x

r t )(tx t

r 0x

Page 7: 数  学  实  验

一 多项式运算 首先根据 变形,两边取对数,得 令 则变为

rtextx 0)(

,ln)(ln 0 rtxtx ,ln),(ln 0xatxy

rtay

t=[0:10:210]; % 从 0到 210年p=[3.9,5.3,7.2,…,281.4]; % 人口数logp=log(p); % y=lnx

[a,s]=polyfit(t, logp, 1) % 最小二乘法p2=polyval(a, t); % 拟合 y

plot((1790:10:2000), p, ‘b+’) % 实际人口hold on % 继续绘图plot((1790:10:2000), exp(p2), ‘r-’); % 拟合人口

Page 8: 数  学  实  验

一 多项式运算

Page 9: 数  学  实  验

一 多项式运算 计算 的商、余多项式和导数多项式

1)1)(4)(2(

3

2

sssss

p1=conv([1,0,2],conv([1,4],[1,1])) % p1 为分子多项式

p2=[1,0,1,1] % p2 为分母多项式

[q,r]=deconv(p1,p2) % 计算出商多项式和余多项式

cq=‘ 商多项式’ ;cr=‘ 余多项式’ ; % cq,cr 为字符串

disp([cq, poly2str(q,’s’)]) % 输出商多项式

disp([cr, poly2str(r,’s’)]) % 输出余多项式

[n,d]=polyder(p1,p2) % 计算 (p1/p2) 的导数多项式

disp([poly2str(n,’s’);poly2str(d,’s’)]) % 输出分子 , 分母的导数多项

Page 10: 数  学  实  验

数 学 实 验一 多项式运算二 矩阵和行列式计算三 线性方程组的解

Page 11: 数  学  实  验

二 矩阵和行列式计算 常用的矩阵生成函数1 、 magic(n) 生成 n×n 的魔方矩阵

2 、 ones(n) 生成 n×n 的全 1 矩阵

ones(m,n) 生成 m×n 的全 1 矩阵

3 、 zeros(n) 生成 n×n 的全 0 矩阵

zeros(m,n) 生成 m×n 的全 0 矩阵

4 、 rand(n) 生成 n×n 的均分布随机矩阵

rand(m,n) 生成 m×n 的均分布随机矩阵

5 、 randn(n) 生成 n×n 的正态分布随机矩阵

randn(m,n) 生成 m×n 的正态分布随机矩阵

6 、 eye(n) 生成 n×n 的单位矩阵

7 、 diag(v) 根据向量 v 生成 dim(v) 阶的对角形矩阵或提取对角元

Page 12: 数  学  实  验

二 矩阵和行列式计算 常用的矩阵或行列式运算函数1 、 A±B 矩阵或数组的加法 ( 减法 )

2 、 A*B (A.*B) 矩阵的乘法 ( 数组乘 )

3 、 A\B (A/B) 矩阵的左除 ( 右除 )

4 、 A’ (A.’) 矩阵的转置 ( 数组的转置 )

5 、 inv(A) 计算矩阵 A 的逆矩阵 A-1

6 、 det(A) 计算方阵 A 的行列式的值

7 、 rank(A) 计算矩阵 A 的秩

8 、 eig(A) 计算矩阵 A 的特征值和特征向量

9 、 lu(A) 将方阵 A 分解成准上三角形矩阵 L× 上三角

形矩阵 U

10 、 qr(n) 将矩阵 A 分解成正交矩阵 Q× 上三角形矩阵 R

11 、 svd(m,n) 将矩阵 A 进行 svd 分解

Page 13: 数  学  实  验

二 矩阵和行列式计算 试比较矩阵的乘法与数组乘法的区别A=[1 2 3;4 5 6;7 8 9]; % 矩阵 A

B=[3,1,2;6,4,5;9,7,8]; % 矩阵 B

A*B % 矩阵的乘法

得到A*B=[ 42 30 36 96 66 81 150 102 126 ]

A.*B % 数组的乘法

得到A.*B=[ 3 2 6 24 20 30 63 56 72 ]

Page 14: 数  学  实  验

二 矩阵和行列式计算 试对比矩阵和数组的转置的共轭性R=[1 2;3 4]; % 矩阵 A 的实部 R

V=eye(2); % 矩阵 A 的虚部 V

A=R+V*i; % 矩阵 A

A’ % 矩阵的转置 ( 共轭转置 )

得到A’=[ 1.0000 - 1.0000i 3.0000 2.0000 4.0000 - 1.0000i ]

A.’ % 数组的转置 ( 非共轭转置 )

得到A.’=[ 1.0000 + 1.0000i 3.0000 2.0000 4.0000 + 1.0000i ]

Page 15: 数  学  实  验

二 矩阵和行列式计算 计算矩阵的逆矩阵、矩阵的秩和特征值A=[3 3 -4 -3; 0 6 1 1; 5 4 2 1; 2 3 3 2] % 矩阵 A 的实部 R

Ainv=inv(A); % 矩阵 A 的逆矩阵 Ainv

得到Ainv=[ -7.0000 5.0000 12.0000 -19.0000 3.0000 -2.0000 -5.0000 8.0000 41.0000 -30.0000 -69.0000 111.0000 -59.0000 43.0000 99.0000 -159.0000 ]

k=rank(A) % 计算矩阵 A 的秩 k

得到k=4

d=eig(A) % 计算矩阵 A 的特征值 d得到d=[7.3156; 2.8443 + 4.9345i; 2.8443 - 4.9345i; -0.0042]

Page 16: 数  学  实  验

二 矩阵和行列式计算 用符号计算验证矩阵 的行列式的值、逆矩阵和特征值

2221

1211

aa

aaA

syms a11 a12 a21 a22; % 定义符号变量

A=[a11 a12; a21 a22]; % 定义符号矩阵

det(A) % 计算符号矩阵的行列式的值

得到 a11*a22-a12*a21

inv(A) % 计算符号矩阵的逆矩阵

得到 [ a22/(a11*a22-a12*a21), -a12/(a11*a22-a12*a21)-a21/(a11*a22-a12*a21), a11/(a11*a22-a12*a21) ]

eig(A) % 计算符号矩阵的特征值

得到 [ 1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)

1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2) ]

Page 17: 数  学  实  验

二 矩阵和行列式计算 试验证三阶行列式的计算公式,并推导出四级行列式的计算公式

syms a11 a12 a13 a21 a22 a23 a31 a32 a33; % 定义符号变量

A=[a11 a12 a13;a21 a22 a23;a31 a32 a33]; % 定义符号矩阵

det(A) % 计算三阶符号矩阵的行列式的值

得到 a11*a22*a33-a11*a23*a32-a21*a12*a33+a21*a13*a32+a31*a12*a23-

a31*a13*a22

syms a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 a41 a42 a43 a44; A=

[a11 a12 a13 a14;a21 a22 a23 a24;a31 a32 a33 a34;a41 a42 a43 a44];

dt=det(A) % 计算四阶符号矩阵的行列式的值

simple(dt) % 进行化简

结果略

Page 18: 数  学  实  验

二 矩阵和行列式计算 求矩阵的特征值和特征向量A=[3 2 2; 2 3 2; 2 2 3] % 矩阵 A 的实部 R

[v,d]=eig(A) % 计算矩阵 A 的特征向量 v 和特征值 d

得到v=[ -0.5397 0.6127 0.5774 -0.2607 -0.7738 0.5774 0.8004 0.1611 0.5774 ]

d=[ 1.0000 0 0 0 1.0000 0 0 0 7.0000 ]

注:各特征值对应的特征向量为 v 中所对应的特征列向量,但仅为近似值。

Page 19: 数  学  实  验

数 学 实 验一 多项式运算二 矩阵和行列式计算三 线性方程组的解

Page 20: 数  学  实  验

三 线性方程组的解 主要有左除法和函数法解线性方程组

A=[10 3 1; 2 -10 3; 1 3 10]; % 系数矩阵 A

b=[14; -5; 14]; % 常数项

x=A\b % 左除法求线性方程组

得到x=[ -(a12*b2-b1*a22)/(a11*a22-a12*a21)

(a11*b2-a21*b1)/(a11*a22-a12*a21) ]

左除法解线性方程组

14103

53102

14310

321

321

321

xxx

xxx

xxx

Page 21: 数  学  实  验

三 线性方程组的解 左除法解符号线性方程组

2222121

1212111

bxaxa

bxaxa

syms a11 a12 a21 a22 b1 b2; % 符号变量

A=[a11 a12; a21 a22]; % 系数矩阵 A

b=[b1;b2]; % 常数项

x=A\b % 左除法求线性方程组

得到x=[ -(a12*b2-b1*a22)/(a11*a22-a12*a21)

(a11*b2-a21*b1)/(a11*a22-a12*a21) ]

Page 22: 数  学  实  验

三 线性方程组的解 利用 solve 函数解线性方程

% solve 函数求解线性方程组

s=solve('x1+2*x2+x3=0','2*x1-x2+x3=1','x1-x2+2*x3=3'

得到s.x1=-1/2s.x2=-1/2s.x3= 3/2

32

12

02

321

321

321

xxx

xxx

xxx

Page 23: 数  学  实  验

三 线性方程组的解 solve 函数解线性方程组

5347

4274

232

zyx

zyx

zyx

% solve 函数求解线性方程组

s=solve('x+2*y+3*z=0',‘4*x+7*y+2*z=4',‘7*x+4*y+3*z=5')

得到s.x=61/82s.y=11/41s.z= -35/82

Page 24: 数  学  实  验

数 学 实 验

作业 P99 T14 、 T16(2) 、 (4)

P201 T20(8) 、 (10)、 T21