0;i--)

{

temp=0;

for(t=i+1;t<=min(i+S,N);t++)

temp+=A[i-t+S][t-1]*u[t-1];

u[i-1]=(y[i-1]-temp)/A[S][i-1];

}

}

double Det_matrix()//求矩阵行列式值

{

int i;

double det=1;

Init_matrix_A();

Resolve_LU();

for(i=0;i>>λi%d=%.13e\n",k,k,value_s);

}

}

void main()

{

float cond;

double value_det;

printf("Contact me: [email protected]\n");

Init_matrix_A();//初始化矩阵A

The_value();//获取绝对值最大的特征值λ_501

The_Other_value();//获取特征值λ_1

printf("λ1=%.13e\n",value_1);

printf("λ501=%.13e\n",value_N);

value_det=Det_matrix();//求矩阵行列式值

Value_min();//反幂法求绝对值最小的特征值

printf("λs=%.13e\n",value_s);

cond=Get_cond_A();//求矩阵条件数

Value_translation_min();//偏移条件下反幂法求特征值

printf("cond_A=%.13e\n",cond);

printf("value_det=%.13e\n",value_det);

}

3、程序运行结果:

4、迭代初始向量的选取对计算结果的影响:

本次计算实习求矩阵A的具有某些特征的特征值,主要用到的方法是幂法和反幂法,这两种方法从原理上看都是迭代法,因此迭代初始向量的选择对计算结果会产生一定影响,主要表现在收敛速度上。

通过实际调试发现,对某些特殊的迭代初始值,确实对收敛结果及收敛速度产生影响,具体如下所列:

以下结论建立在float数据类型基础之上;

1.迭代初始值u[i]=c(i=1,2,…,501)且c的绝对值值极大(例如1.0e12以上),收敛结果可以稳定但收敛速度减慢,其原因为c的数量级与矩阵A中元素数量级差距过大,导致迭代次数以及运算量增大;

2.迭代初始值u[i]=c(i=1,2,…,501)且c的绝对值值极小(例如1.0e-12以下),收敛结果并不稳定,且收敛速度减慢,其原因是计算机舍入误差将会影响计算结果;

3.迭代初始值u[i] (i=1,2,…,501)之间数量级偏差很大(例如1.0e12倍以上),收敛结果亦不稳定,且收敛速度减慢,其原因是人为使迭代过程中的权重发生较大区别,使迭代复杂化。

结论,对于迭代初始值的选取应尽量与矩阵A中元素数量级保持相近,且应保证相近的数量级。

PS:Further details please Contact me: [email protected]

2011-11-15

幂法的c语言程序例子,数值分析之幂法及反幂法C语言程序实例.doc相关推荐

  1. c语言 pic16f877a 例子,PIC16F877A与PC机串行通信C语言源程序

    //*******串口通信程序********* //*******定义变量************* #include #define  unchar unsigned  char #define  ...

  2. python语言程序设计2019版第二章课后答案-python语言程序设计基础(嵩天)第二章课后习题...

    **第二学期第一周学习总结 一. 本周学习内容总结 一维数组,了解了一维数组的定义(定义一个数组,需要明确数组变量名,数组元素的类型和数组大小,即数组中元素的数量) 一维数组定义的一般形式为:类型名, ...

  3. 为什么c语言写程序要挂起,我运行的C语言程序挂起了,应该怎么办?

    导航:网站首页 > 我运行的C语言程序挂起了,应该怎么办? 时间:2017-11-14 相关问题: 匿名网友: 当你运行一个程序时会有多种原因使它挂起,这些原因可以分为以下4种基本类型: (1) ...

  4. c语言第一课程序代码怎么打,【北北的小程序】北のC语言第一课:helloworld

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 诶多!helloworld神马的,是我们要编写的第一个程序哟! 话说第一课为什么不讲一些C语言的发展,优势什么的呢?因为LZ是java党!对C语言本身不是 ...

  5. 用c语言写程序求序数的后缀,用C编写mex程序

    用C编写mex程序 大家都知道,matlab是一种解释型的编程环境,也就是说,跟以前的basic一样,是读 一句执行一句的.这样做可以很方便的实现编程过程中的交互,也免去了麻烦又耗时的 编译过程.但凡 ...

  6. gRPC in ASP.NET Core 3.x -- Protocol Buffer, Go语言的例子(下)

    前两篇文章半年前写的: gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1), gRPC in ASP.NET Core 3.0 -- Protocol Buf ...

  7. 0927_C/C++笔试题_10:16道c语言面试例子【2】

    16道c语言面试例子[2]: 2.写一个"标准"宏MIN,这个宏输入两个参数并返回较小的一个. #define MIN(x,y) ((x)<=(y)?(x):(y)) 这个测 ...

  8. C++如何实现系统语言切换功能,MessageBox的确认/取消按钮语言显示如何跟程序一致

    文章目录 前言 一.新建工程 二.添加多国语言的资源 三.程序语言设置 四.语言切换 五.字符串处理 六.MessageBox的问题 七.相关函数和类型 参考文章 前言   目前很多软件都是要出口到多 ...

  9. matlab 幂法,数值分析试验幂法与反幂法matlab.doc

    数值分析试验幂法与反幂法matlab 一.问题的描述及算法设计 (一)问题的描述 我所要做的课题是:对称矩阵的条件数的求解设计 1.求矩阵A的二条件数 问题 A= 2.设计内容: 1)采用幂法求出A的 ...

最新文章

  1. Python数字类型及操作汇总(入门级)
  2. Vaadin学习经验
  3. Python 列表与元组的速度比较
  4. 学习 SQL 语句 - Select(7): 分组统计之 Avg()、Sum()、Max()、Min()、Count()
  5. WSS Alert(邮件提醒) 定制
  6. linux : ulimit 命令使用说明、参数解说
  7. WebMagic写的网络爬虫优秀文章
  8. video4linux(v4l)使用摄像头的实例基础教程与体会
  9. c语言学习-使用指针对三个变量互相赋值
  10. java代码查询索引文件实例_关于使用pdfbox的对PDF文件通过lucene生成索引文件IndexPDFFiles类代码示例...
  11. 养老金中除以139是什么意思?
  12. 真假黄仁勋疑云?英伟达推出全球首个元宇宙平台
  13. 2020-2021年NLP有什么核心技术的更迭吗?或者有什么推动领域发展的paper吗?
  14. 某项目的双代号网络图如下所示_系统集成项目管理工程师5天备考第3天第1-2学时...
  15. 获取文件夹下所有视频
  16. java加水印 盖章_如何通过Java加水印的方式实现一键添加校徽外圈
  17. 解决 Win11 资源管理器卡顿
  18. 初中英语语法(011)-形容词
  19. 如何导出专业的工程图纸(附工图模板)
  20. html俄罗斯方块游戏代码,史上最短小精悍的javascript编写的俄罗斯方块游戏,仅仅60行代码...

热门文章

  1. canoe开发从入门到精通pdf_阿里技术官手写801页PDF《精通Java Web整合开发》
  2. grep的java源程序_Java实现Grep
  3. libncurses.so.5 is needed by unixODBC_值得一看的全息网游 ——生存游戏by那时烟花
  4. 清理buffer/cache/swap的方法梳理
  5. PCA降维原理及其代码实现(附加 sklearn PCA用法参数详解)
  6. 组合数据类型{集合,序列【字符串,元组,列表】,字典}
  7. VTK:PCA用法实战
  8. OpenCASCADE绘制测试线束:拓扑命令之曲线和曲面拓扑
  9. wxWidgets:显示和测试 wxDC 功能
  10. wxWidgets:调试 WxWindow 应用程序