超松弛迭代法(SOR)
来源:互联网 发布:c语言左移右移 编辑:程序博客网 时间:2024/05/01 09:51
c.txt4 -2 -4 10-2 17 10 3-4 10 9 -7
#include<stdio.h>#include<math.h>#define M 3main(){ FILE *f; double a[M][M],b[M]; double x[M]={0,0,0}; double y[M]; int i,j,k,n=100; f=fopen("c.txt","r"); for(i=0;i<M;i++) { for(j=0;j<M;j++) fscanf(f,"%lf",&a[i][j]); fscanf(f,"%lf",&b[i]); } fclose(f); double s,max,eps=0.0001,w=1.46; k=1; while(k<n) { max=0; for(i=0;i<M;i++) { s=0; for(j=0;j<M;j++) if(j!=i) s+=a[i][j]*x[j]; /// 下面的部分高斯迭代法的做法。 ///用一个数组就行了,没必要加个y[M]数组。 y[i]=(b[i]-s)/a[i][i]; y[i]=(1-w)*x[i]+w*y[i]; if(max<fabs(x[i]-y[i])) max=fabs(x[i]-y[i]); x[i]=y[i]; } if(max<eps) break; printf("k=%d \n",k); for(i=0;i<M;i++) printf("x[%d]=%lf \n",i,x[i]); k++; } if(k==n) { printf("ERROR!\n"); return 0; } printf("k=%d \n",k); for(i=0;i<M;i++) printf("x[%d]=%lf \n",i,x[i]);}
阅读全文
0 0
- 超松弛迭代法(SOR)
- 逐次超松弛迭代法SOR
- 三种迭代法解方程组(雅可比Jacobi、高斯-赛德尔Gaisi_saideer、逐次超松弛SOR)
- 逐次超松弛迭代法解线性方程组(Matlab程序)
- 松弛迭代法
- 线性方程组的迭代解法:超松弛迭代法
- 雅可比迭代法,塞德尔迭代法,逐次超松弛法求解线性方程组
- 超松弛法(C++ 数值分析)
- 超松弛法(C++ 数值分析)
- 超松弛法(C++ 数值分析)
- SOR
- 松弛因子对SOR法收敛速度的影响之C++实现
- 松弛法(relaxation)
- Matlab实现——严格对角占优三对角方程组求解(高斯赛尔德Gauss-Seidel迭代、超松弛)
- 求解线性方程组之超松弛Gauss_Seidel迭代
- SVM(五)松弛变量
- CUIT ACM Personal Training 11.27(FM)A - Buggy Sor
- sor祛痘
- Nginx反向代理、负载均衡实现Tomcat集群
- 数据库系统概念(第四章:SQL)
- 企业级分布式存储应用-mogileFS
- U-Boot 1.1.6 移植到2440 (一)
- E
- 超松弛迭代法(SOR)
- 计算方法 实验四 解线性方程组的迭代法
- ntpd和chrony
- Collection和Iterator接口
- openldap服务器安装配置
- php常用字符串函数小结
- 数组与指针(1)
- Nginx+Tomcat实现负载均衡动静分离集群
- TensorFlow学习笔记01:Win10下使用Anaconda安装TensorFlow