没有合适的资源?快使用搜索试试~ 我知道了~
一求解一般右端项的Toeplitz方程组及Toeplitz矩阵的逆-Read.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
11 浏览量
2022-12-17
14:53:16
上传
评论
收藏 143KB PDF 举报
...
资源推荐
资源详情
资源评论









一 求解一般右端项的 Toeplitz方程组及 Toeplitz矩阵的逆
1实验目的
● 熟悉求解 Yule-Walker方程组,一般右端项的 Toeplitz方程组及 Toeplitz矩阵的逆的求
解步骤;
● 通过实验体会方程组的性质对求解的影响;
2实验原理
1)求解一般右端项的 Toeplitz方程组:
T
n
x b
,其中
b (
1
,
n
)
T
是已知向量.通过
x
k k
E
k
y
k
求解
T
k
x
k
(
1
,
k
) ,(k 1,2, ,n)
来计算
x
k 1
,可得;
x
k 1
,其
k
T
中;
y
k
是 k 阶 Yule-Walker 方 程 组 的 解 ,
E
k
是 k 阶 单 位 阵 ,
k
由
k
(
k 1
r
k
T
E
k
x
k
)/(1 r
k
T
y
k
)
确定,这里
r
k
(r
1
, ,r
k
)
T
.这样,便可通过
x
1
出发
递推地求得方程组的解。
2)Toeplitz矩阵的逆(以
n 5
为例)
a) 通过求解一个 5 阶的 Yule-Walker方程组得到
y
4
,再利用:
1/(1 r
n 1
T
y
n 1
)
,
v E
n 1
y
n 1
求出
T
5
1
的最后一列和最后一行元素,然后再利用
T
5
1
的广义对
称性求出相应元素;
b) 利用
ij n j,n i
(v
i
v
j
v
n i
v
n j
)/
及(1)得到的结果,然后再利用
T
5
1
的广
义对称性,可得到
T
5
1
第二层的全部元素;
再利用
ij n j,n i
(v
i
v
j
v
n i
v
n j
)/
,可求得
T
5
1
最中间的元素,则就求得
了
T
5
1
的全部元素。
3数值算例
①
求解 Yule-Walker方程组:(求解四阶 Yule-Walker方程组
R1[1]
保存方程组的阶数
)
please input the flag 1 to 3:
1
please input the string R1[N]:
4 -1 3 8
1

R1[0]=5.000000 R1[1]=4.000000 R1[2]=-1.000000 R1[3]=3.000000 R1[4]=8.000000
结果
y1[0]=5.000000 y1[1]=-0.786753 y1[2]=1.675522 y1[3]=2.357687 y1[4]=-2.539950
②
求解 Toeplitz矩阵的逆(5 阶)
please input the flag 1 to 3:
2
please input the string R1[N]:
0.4 1.2 3.4 1.2
R1[0]=5.000000 R1[1]= 0.400000 R1[2]=- 1.2 00000 R1[3]= 3.4 00000 R1[4]= 1.20000
得到的结果为
T[0][0]=-0.089410 T[0][1]=-0.015410 T[0][2]=0.119910 T[0][3]=0.319410 T[0][4]=
-0.111810
T[1][0]=-0.015410 T[1][1]= 1.137010T[1][2]= -0.205710T[1][3]= -1.434810T[1][4]=
0.319410
T[2][0]=0.119910 T[2][1]=-0.205710 T[2][2]=-1.732610 T[2][3]=--0.205710T[2][4]=
0.119910
T[3][0]=0.319410 T[3][1]=-1.434810 T[3][2]=-0.205710 T[3][3]=1.137010 T[3][4]=
0.015410
T[4][0]=-0.111810 T[4][1]=0.319410 T[4][2]=0.119910 T[4][3]=0.015410 T[4][4]=
-0.089410
③一般右端项的 Toeplitz方程组:(4 阶右端项的 Toeplitz方程组 R1[1]保存方程组的阶数)
please input the flag 1 to 3:
3
please input the string R1[N]: “矩阵系数”
3 4 1 6
R1[N]
R1[0]=5.000000 R1[1]=3.000000 R1[2]=4.000000 R1[3]=1.000000 R1[4]=6.000000
please input the string b[N]:
6 7 2 4
b[N] “右端项”
b[0]=5.000000 b[1]=6.000000 b[2]=7.000000 b[3]=2.000000 b[4]=4.000000
结果:
x[0]=5.000000 x[1]=6.000000 x[2]=1.375000 x[3]=4.512821 x[4]=-0.100273
将上面结果与直接用 Matlab计算的结果比较误差较大。
4心得体会
本次试验我是用 c 语言完成的,实验过程中,,正是因为 Toeplitz方程组本身具有的良好
的性质:广义对称性.使得在编写程序的过程中节省了很多步骤,整过过程求解的过程即用到
向量乘法,这只要两轮循环就可以实现,用 c 语言很容易实现的。,特别是在求逆的过程中,
因为它的对称性,我们可以仅仅去求它的一个倒三角矩阵,这样在一个循环中用三条赋值语句
2

就可以实现。因此,方程组或者矩阵的某些方面的性质会对我们的计算结果,计算方法产生
很大的作用。
然而,由于自己对算法的不熟悉和 c 与语言掌握得不精通。在向量运算的过程中对数组
中元素与脚标的关系的处理过程中遇到很多麻烦,对结果的保存处理得不当。我本想用
malloc函数开辟内存区以保存结果,但该函数在 wintC-191 下无法实现,最后用全局变量保
存结果,这使得函数的通用性降低了,而且将得了程序的清晰性。我会在以后学习的过程中
多请教老师多和同学交流,提高自己的编程技巧和运用知识的能力。
3

二
实用共轭梯度法
的求解线性方程组的算法实现及其分析
1实验目的:
● 熟悉实用共轭梯度法的基本原理及思想方法;
● 通过与一般方法的比较,体会实用共轭梯度法的优劣;
● 掌握稀疏矩阵存储方式;
2实验原理:
实用共轭梯度法是对系数矩阵为对称正定的一类线性方程的求解的一种非常有效的算
法。在实际使用时,由于误差的出现,使得负梯度方向
r
k
的正交性很快损失,以致于其有限
步终止性不再成立.因此,实际应用时,只是将共轭梯度法作为一种迭代的方法使用,其基本
步骤是:
(1) 首先输入二次泛函:
的稀疏矩阵;
(2) 令
x x
0
,r Ax
0
,
0
r
T
r,k 1
;
(3) 如果
k 1
,则令
p r
;否则:
k 1
/
k 2
,p r p
;
(4)
w Ap,a
k 1
/p
T
w ,x x ap,r r aw,
k
r
T
r
(5) 如果
k 0
,则输出
x
;否则:
k k 1
,转步到(2),
实际上,每迭代一次,只需作依次矩阵和向量乘法运算和 5n 次数量乘法运算,在存储上仅
需增加
4n
个存储单元即可。
1
T
x Ax b
T
x
中的 A,b 及初始点
x
0
,注意这里 A 应为对称正定
2
3数值算例
①
A
为一般的小型对称正定矩阵
0 0 03
2 5 00
A 0 5 1 0
0 0 10
9 0 0 2
写成稀疏矩阵的形式如下:
9
0
0
2
1
4

1
1
2
2
B
3
4
4
5
1
5
2
3
3
4
5
5
3
9
2
5
1
1
2
1
选取常量如下
7 0
6 0
b 5
x0 0
e 0.001
4
0
3
0
计算结果如下:
x=CG_4_1(B,b,x0,e);
-0.26667
0.82609
x 0.86957
2.2667
0.86667
结果分析:(wucha=A*x-b )
wucha =
1.0e-013 *
0.3109
-0.0444
-0.0444
0.0533
0.1599
从上述的计算结果来看,效果还比较理想。
②
A
为 Hilbert矩阵
令 H=hilb(5);
H =
1.0000 0.5000 0.3333 0.2500 0.2000
0.5000 0.3333 0.2500 0.2000 0.1667
0.3333 0.2500 0.2000 0.1667 0.1429
0.2500 0.2000 0.1667 0.1429 0.1250
0.2000 0.1667 0.1429 0.1250 0.1111
将其转化为稀疏矩阵的表现形式
5
剩余22页未读,继续阅读
资源评论

G11176593
- 粉丝: 3484
- 资源: 2万+

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- PHP编程基础-课堂作业(源码)
- 互联网报名预约行业-51报名管家小程序源代码【含图文文档教程+源码导入教程+操作界面截图】
- 互联网报名预约行业-美容预约小程序源代码【含图文文档教程+源码导入教程+操作界面截图】
- 互联网报名预约行业-运动荟小程序源代码【含图文文档教程+源码导入教程+操作界面截图】
- 互联网报名预约行业-家政预约源代码【含图文文档教程+源码导入教程+操作界面截图】
- ffmpeg windows 32位库
- chat GPT 程序插件分享与实践
- Vue面试题,干货(附答案)
- JDK 1.8 linux、windows 、mac 三版本的jar包整理
- HTML+CSS仿写京东页面附代码(web前端作业)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
