亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jacobi mpi.txt

?? 最簡單的java入門程序,對初學(xué)者來說很適用.希望大家一起學(xué)習(xí)好java
?? TXT
字號:
  1 //=================================================================
  2 // Name : 使用雅可比迭代法求解線性方程組
  3 // Author : 袁冬(2107020046)
  4 // Copyright : 中國海洋大學(xué)
  5 // LastUpdate : 2007.10.18    
  6 // Develop Evrionment : Windows Server 2003 SP2
  7 //                        + Eclipse 3.3.1 + CDT 4.0.1 
  8 //                        + MinGW 3.81 + GDB 6.6 
  9 //                        + mpich2-1.0.6-win32-ia32
 10 //=================================================================
 11 
 12 //#define DEBUG 1 //調(diào)試符號
 13 
 14 #define TRUE 1
 15 #define FALSE 0
 16 #define bool int
 17 
 18 #define MAX_N 100 //允許的最大未知數(shù)個(gè)數(shù)
 19 #define MAX_A (MAX_N * MAX_N) //允許最大的系數(shù)的個(gè)數(shù)
 20 
 21 #define MAX_ITERATION 10000 //最大迭代次數(shù)
 22 #define TOLERANCE 0.001 //誤差
 23 
 24 #include "mpi.h"
 25 #include <stdio.h>
 26 #include <stdlib.h>
 27 
 28 int pID, pSize; //pID:當(dāng)前進(jìn)程ID,pSize:總的進(jìn)程數(shù)
 29 int n, iteration = 0; //n:未知數(shù)的個(gè)數(shù),iternation:迭代的次數(shù)
 30 float x[MAX_N], new_x[MAX_N], result_x[MAX_N]; //x:表示上一次迭代的結(jié)果,new_x:表示這一次迭代的結(jié)果,result_x:表示歸約之后得到的總的結(jié)果
 31 float a[MAX_N][MAX_N]; //系數(shù)
 32 float b[MAX_N]; 
 33 
 34 //輸入
 35 void input(){
 36     
 37     int i, j;
 38     
 39     printf("The n is %d\n", n);
 40     fflush(stdout);
 41     
 42     //輸入系數(shù)
 43     for(i = 0; i < n; i++) {
 44         printf("Input a[%d][0] to a[%d][n-1]:\n", i, i);
 45         fflush(stdout);
 46         for(j = 0; j < n; j++)
 47             scanf("%f", &a[i][j]);
 48     }
 49     
 50     //輸入b
 51     printf("Input b[0] to b[n-1]:\n");
 52     fflush(stdout);
 53     for(j = 0; j < n; j++)
 54         scanf("%f", &b[j]);
 55 }
 56 //輸出結(jié)果
 57 void output(){
 58     
 59     int i;
 60     
 61     printf("Total iteration : %d", iteration);
 62     if(iteration > MAX_ITERATION) printf(", that is out of the limit of iteration!");
 63     printf("\n");
 64     
 65     for(i = 0; i < n; i++)
 66         printf("x[%d] is %f\n", i, result_x[i]);
 67 }
 68 //判斷精度是否滿足要求,滿足要求則返回TRUE,否則,返回FALSE
 69 bool tolerance(){
 70     
 71     int i;
 72     
 73     //有一個(gè)不滿足誤差的,則返回FALSE
 74     for(i = 0; i < n; i++)
 75         if(result_x[i] - x[i] > TOLERANCE || x[i] - result_x[i] > TOLERANCE)
 76             return FALSE;
 77     
 78 #ifdef DEBUG
 79     printf("TRUE From %d\n", pID);
 80     fflush(stdout);
 81 #endif
 82     
 83     //全部滿足誤差,返回TRUE
 84     return TRUE;
 85 }
 86 
 87 //入口,主函數(shù)
 88 int main(int argc, char* argv[]) {
 89     
 90     MPI_Status status; 
 91     int i, j;
 92     float sum;
 93     
 94     //初始化
 95     MPI_Init(&argc, &argv); 
 96     MPI_Comm_rank(MPI_COMM_WORLD, &pID); 
 97     MPI_Comm_size(MPI_COMM_WORLD, &pSize); 
 98     
 99     //每個(gè)進(jìn)程對應(yīng)一個(gè)未知數(shù)
100     n = pSize; 
101 
102     //根進(jìn)程負(fù)責(zé)輸入
103     if(!pID) input();
104         
105     //廣播系數(shù)
106     MPI_Bcast(a, MAX_A, MPI_FLOAT, 0, MPI_COMM_WORLD);
107     //廣播b
108     MPI_Bcast(b, MAX_N, MPI_FLOAT, 0, MPI_COMM_WORLD);
109     
110 #ifdef DEBUG
111     //打印a, b
112     for(j = 0; j < n; j++)
113         printf("%f ", b[j]);
114     printf(" From %d\n", pID);
115     fflush(stdout);
116 #endif
117     
118     //初始化x的值
119     for(i = 0; i < n; i++) {
120         x[i] = b[i];
121         new_x[i] = b[i];
122     }
123     
124     //當(dāng)前進(jìn)程處理的元素為該進(jìn)程的ID
125     i = pID;
126     
127     //迭代求x[i]的值
128     do{
129         //迭代次數(shù)加1
130         iteration++;
131         
132         //將上一輪迭代的結(jié)果作為本輪迭代的起始值,并設(shè)置新的迭代結(jié)果為0
133         for(j = 0; j < n; j++)
134         {
135             x[j] = result_x[j];
136             new_x[j] = 0;
137             result_x[j] = 0;
138         }            
139         
140         //同步等待
141         MPI_Barrier(MPI_COMM_WORLD);
142         
143 #ifdef DEBUG
144         //打印本輪迭代的初始值
145         for(j = 0; j < n; j++)
146             printf("%f ", x[j]);
147         printf(" From %d\n", pID);
148         fflush(stdout);
149 #endif
150         
151         //求和
152         sum = - a[i][i] * x[i];
153         for(j = 0; j < n; j++) sum += a[i][j] * x[j];
154         
155         //求新的x[i]
156         new_x[i] = (b[i] - sum) / a[i][i];
157         
158 #ifdef DEBUG
159         //打印本輪迭代的結(jié)果
160         for(j = 0; j < n; j++)
161             printf("%f ", new_x[j]);
162         printf(" From %d\n", pID);
163         fflush(stdout);
164 #endif        
165         
166         //使用歸約的方法,同步所有計(jì)算結(jié)果
167         MPI_Allreduce(new_x, result_x, n, MPI_FLOAT, MPI_SUM, MPI_COMM_WORLD);
168         
169 #ifdef DEBUG
170         //打印歸約后的結(jié)果
171         for(j = 0; j < n; j++)
172             printf("%f ", result_x[j]);
173         printf(" From %d\n", pID);
174         fflush(stdout);
175 #endif        
176         
177         //如果迭代次數(shù)超過了最大迭代次數(shù)則退出
178         if(iteration > MAX_ITERATION) {
179             break;
180         }
181     } while(!tolerance()); //精度不滿足要求繼續(xù)迭代
182     
183     //根進(jìn)程負(fù)責(zé)輸出結(jié)果
184     if(!pID) output();
185     
186     //結(jié)束
187     MPI_Finalize();
188     return 0;
189 }
190 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区精品| 亚洲成av人片| 亚洲亚洲人成综合网络| 激情综合色播五月| 一本高清dvd不卡在线观看| 欧美一级黄色片| 中文字幕日韩一区| 久久不见久久见免费视频7| 色一情一乱一乱一91av| 国产亚洲精久久久久久| 日av在线不卡| 欧美日韩三级在线| 亚洲色图一区二区| 国产91色综合久久免费分享| 欧美日韩精品高清| 樱桃国产成人精品视频| 成人av综合在线| www国产精品av| 蜜桃一区二区三区四区| 欧美日韩高清不卡| 亚洲精品免费视频| 99久久99久久综合| 国产欧美日韩三区| 国产精品一区二区三区99| 日韩一区二区电影| 日本视频在线一区| 欧美一区二区在线免费播放 | 国产成人激情av| 日韩亚洲欧美成人一区| 午夜影院久久久| 欧美卡1卡2卡| 首页欧美精品中文字幕| 欧美日韩久久一区二区| 亚洲成人一区二区在线观看| 色狠狠桃花综合| 亚洲精品国产成人久久av盗摄| caoporn国产精品| √…a在线天堂一区| av一区二区三区| 亚洲视频在线一区二区| 91麻豆国产在线观看| 亚洲色图在线看| 一本久久a久久精品亚洲| 亚洲影院免费观看| 51久久夜色精品国产麻豆| 五月激情综合婷婷| 日韩精品中午字幕| 国产麻豆视频精品| 成人欧美一区二区三区小说| 色94色欧美sute亚洲线路二| 亚洲一区二区中文在线| 91麻豆精品91久久久久久清纯 | 国产精选一区二区三区| 国产丝袜美腿一区二区三区| 不卡免费追剧大全电视剧网站| 日韩美女啊v在线免费观看| 91极品美女在线| 日本视频一区二区| 国产午夜精品福利| 在线视频亚洲一区| 美女诱惑一区二区| 中文字幕av一区 二区| 91色综合久久久久婷婷| 午夜av一区二区| 久久精品一区二区| 91麻豆精东视频| 精品在线你懂的| 自拍视频在线观看一区二区| 欧美一区二区三区在线看 | 亚洲va韩国va欧美va| 欧美一级国产精品| 99视频精品在线| 日韩成人一级片| 中文字幕欧美国产| 国产**成人网毛片九色| 五月婷婷久久丁香| 欧美国产一区二区在线观看| 欧美日精品一区视频| 国产乱码精品一区二区三| 亚洲影院在线观看| 国产精品网站在线观看| 91国在线观看| 国产一区二区在线观看视频| 日韩av一区二| 欧美性大战久久久| 国产高清精品网站| 亚洲成人你懂的| 久久精品亚洲一区二区三区浴池| 色综合欧美在线| 国产精品一二三区在线| 亚欧色一区w666天堂| 国产精品国产三级国产普通话蜜臀 | 久久品道一品道久久精品| 91视频国产资源| 丁香一区二区三区| 免费在线观看一区| 亚洲国产成人精品视频| 国产精品沙发午睡系列990531| 欧美一区二区啪啪| 欧美视频一区二| 99国产精品99久久久久久| 国产一区二区福利| 激情av综合网| 日韩av电影天堂| 亚洲成人免费观看| 亚洲免费观看高清完整版在线观看熊 | 精品久久久三级丝袜| 欧美精品自拍偷拍| 欧美日韩一区二区在线观看视频| 99久久婷婷国产综合精品| 亚洲男人的天堂在线aⅴ视频| 日韩午夜激情视频| 岛国精品一区二区| 乱一区二区av| 男人的天堂久久精品| 爽好久久久欧美精品| 亚洲国产aⅴ天堂久久| 一区二区三区资源| 亚洲日韩欧美一区二区在线| 中文字幕日本不卡| 亚洲欧洲av在线| 亚洲视频网在线直播| 亚洲免费视频成人| 亚洲黄色性网站| 亚洲国产综合人成综合网站| 亚洲五月六月丁香激情| 亚洲午夜电影在线| 蜜桃传媒麻豆第一区在线观看| 日韩精品91亚洲二区在线观看 | 在线不卡一区二区| 91精品国产欧美日韩| 欧美大片在线观看| 久久嫩草精品久久久久| 国产清纯白嫩初高生在线观看91 | 久久99国内精品| 九九精品视频在线看| 国产福利不卡视频| 97aⅴ精品视频一二三区| 欧美综合久久久| 91精品国产综合久久久久久漫画 | 中文字幕不卡一区| 樱花草国产18久久久久| 天堂久久一区二区三区| 国产一区二区视频在线播放| 成熟亚洲日本毛茸茸凸凹| 色又黄又爽网站www久久| 91麻豆精品国产综合久久久久久| 欧美一区二区免费| 国产亚洲精品超碰| 亚洲在线免费播放| 精品在线视频一区| 99re视频精品| 制服丝袜激情欧洲亚洲| 国产午夜亚洲精品理论片色戒| 亚洲少妇最新在线视频| 麻豆精品视频在线观看| 成人的网站免费观看| 欧美日韩另类一区| 中文字幕巨乱亚洲| 日韩精品久久久久久| 成人丝袜视频网| 宅男在线国产精品| 亚洲欧美在线视频| 日韩中文欧美在线| 99久久精品国产精品久久| 欧美丰满少妇xxxxx高潮对白| 久久精品人人爽人人爽| 亚洲成人自拍一区| 国产91在线|亚洲| 日韩欧美你懂的| 亚洲综合色婷婷| www.亚洲色图| 精品88久久久久88久久久| 亚洲一区二区三区免费视频| 黑人精品欧美一区二区蜜桃| 欧美视频一区二区三区| 亚洲成在人线免费| 欧美日韩在线播放三区| 久久久久久久久久久黄色| 亚洲一区二区偷拍精品| 丰满放荡岳乱妇91ww| 欧美一区二区在线视频| 亚洲一级在线观看| 99视频精品在线| 国产精品亲子伦对白| 国产一区二区三区综合| 69成人精品免费视频| 亚洲综合精品久久| 成人午夜精品在线| 精品久久99ma| 日韩精品亚洲一区二区三区免费| 91蜜桃在线免费视频| 中文久久乱码一区二区| 国产在线日韩欧美| 精品黑人一区二区三区久久| 亚洲国产日韩一级| 欧美日韩一卡二卡三卡 | 精品久久99ma| 免费观看久久久4p| 欧美日韩不卡一区|