ZKX's LAB

数值分析中的松弛法原理何在,为何两个近似值可以通过添加松弛因子得到一个更好的近似值,感觉就像黑科技? 逐次超松驰法

2021-04-24知识5

求逐次超松弛迭代法(SOR)的C++程序 #include<;iostream.h>;#include<;math.h>;#include<;iomanip.h>;Void main(){double u1[5][5],u2[5][5];int flag=1000,i,j,e,n;double a,d;a最佳加速收敛因子for(i=0;i;i+)for(j=0;j;j+){if(i=0)u1[i][j]=100;else u1[i][j]=0;}cout迭代前各电位点上的初始值:\";for(i=0;i;i+){for(j=0;j;j+){cout[i][j];输出迭代初值}cout;}cout;for(d=1;d;d+0.01)/找取迭代次数最少的加速收敛因子 {n=0;for(j=0;j;j+){u1[0][j]=100;}for(i=1;i;i+)for(j=0;j;j+){u1[i][j]=0;}do/迭代x次 {for(i=0;i;i+){for(j=0;j;j+){u2[i][j]=u1[i][j];}}for(i=1;i;i+)for(j=1;j;j+){u1[i][j]=u2[i][j]+(d/4)*(u2[i+1][j]+u2[i][j+1]+u1[i-1][j]+u1[i][j-1]-4*u2[i][j]);} for(i=1;i;i+)/判断精度 {{for(j=1;j;j+){if(fabs(u1[i][j]-u2[i][j])>;1e-5){e=1;break;}else e=0;}if(e=1)break;}} n+;迭代次数}while(e);if(n){flag=n;a=d;}}cout收敛因子:\";cout;cout迭代次数:\";cout;cout各节点上最终电位近似值:\";for(i=0;i;i+){for(j=0;j;j+){cout(ios:fixed)(5)(8)[i][j];对齐输出} cout;}cout;}

什么是SOR? SOR是英文Standard Operation Records的缩写,它的中文含意是记录、凭证类文件。SOR包括了:⑴物料管理记录;⑵生产操作记录;⑶质量检验与管理记录;⑷设备运行与管理记录。

数值分析中的松弛法原理何在,为何两个近似值可以通过添加松弛因子得到一个更好的近似值,感觉就像黑科技? 如题 关注者 4,227 关注问题 写回答 ? 邀请回答 ? 添加评论 ? ? 4 12 人赞同了该回答 我们考虑微分写成差分后的情况,考虑 。

#逐次超松驰法

随机阅读

qrcode
访问手机版