# include<stdio.h> # include<math.h> # define N 3 main(){ float NF2(float *x,float *y); float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}}; float b[N]={7.2,8.3,4.2},sum=0; float x[N]= {0,0,0},y[N]={0},x0[N]={}; int i,j,n=0; for(i=0;i<N;i++) { x[i]=x0[i]; } for(n=0;;n++){ //計算下一個值 for(i=0;i<N;i++){ sum=0; for(j=0;j<N;j++){ if(j!=i){ sum=sum+A[i][j]*x[j]; } } y[i]=(1/A[i][i])*(b[i]-sum); //sum=0; } //判斷誤差大小 if(NF2(x,y)>0.01){ for(i=0;i<N;i++){ x[i]=y[i]; } } else break; } printf("經(jīng)過%d次雅可比迭代解出方程組的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求兩個向量差的二范數(shù)函數(shù) float NF2(float *x,float *y){ int i; float z,sum1=0; for(i=0;i<N;i++){ sum1=sum1+pow(y[i]-x[i],2); } z=sqrt(sum1); return z; }
上傳時間: 2019-10-13
上傳用戶:大萌萌撒
#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t請輸入稀疏矩陣的行數(shù),列數(shù)和非零元素個數(shù)(用逗號隔開):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t輸入非零元素值(格式:行號,列號,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t對角線元素的和::%d\n",p->v); else printf("\n\t\t對角線元素的和為::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩陣的三元組系統(tǒng) "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創(chuàng)建 "); printf("\n\t\t 2------------顯示 "); printf("\n\t\t 3------------求對角線元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t請選擇菜單號(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t輸入錯誤!請重新輸入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上傳時間: 2020-06-11
上傳用戶:ccccy
快速瞭解ECLIPSE 目錄 序言· 一.Eclipse 簡介 二.Eclipse 組織 三.Eclipse 相關術語 四.Eclipse 平臺 五.EMF & GEF 介紹 六.關於Eclipse、SWT 和JFace 一個SWT 應用程式的基礎材料 基本控制項 標籤 文件 按鈕 事件監(jiān)聽器 複合控制項 Shell 佈局管理器 FillLayout GridLayout GridData 15 建立一個執(zhí)行程式 為什麼使用SWT 七.OSGI 簡介 Eclipse 資源 附錄1 SWT 的內幕? 附錄2 相關網(wǎng)站 附錄3 外掛開發(fā)
上傳時間: 2015-11-30
上傳用戶:cc1
用msp430實現(xiàn)數(shù)字,語音錄音的功能,免去 錄音帶的源碼.
上傳時間: 2013-12-16
上傳用戶:wangyi39
slickeditv10.0linuxcrackz.w.t.zip SlickEdit v10.0 for linux 注冊機 在國內網(wǎng)站上找了N天都沒找到,在國外一家網(wǎng)站找到。雖然不是源代碼,但是SlickEdit是Linux下最好用的30多種編程IDE。這個是注冊機安裝文件在百度裡找吧
標簽: 10.0 linuxcrackz slickeditv SlickEdit
上傳時間: 2013-12-10
上傳用戶:大融融rr
JavaScript語法手冊 裡面有詳細的JavaScript語法和一些網(wǎng)頁的基本操作
標簽: JavaScript 手冊 基本操作
上傳時間: 2013-12-10
上傳用戶:yulg
鄰接矩陣類的根是A d j a c e n c y W D i g r a p h,因此從這個類開始。程序1 2 - 1給出了類的描述。程 序中,先用程序1 - 1 3中函數(shù)Make2DArray 為二組數(shù)組a 分配空間,然后對數(shù)組a 初始化,以描述 一個n 頂點、沒有邊的圖的鄰接矩陣,其復雜性為( n2 )。該代碼沒有捕獲可能由M a k e 2 D A r r a y 引發(fā)的異常。在析構函數(shù)中調用了程序1 - 1 4中的二維數(shù)組釋放函數(shù)D e l e t e 2 D
標簽: 矩陣
上傳時間: 2013-12-21
上傳用戶:lanjisu111
Sunplus SPCE061A 微控制器 語音播放(自動播放)設計方法及說明
上傳時間: 2014-07-01
上傳用戶:小寶愛考拉
Lwip協(xié)議與設計實現(xiàn)[繁] 修改自 簡體版本 修改常用語 等 以方便繁體網(wǎng)友 [chao chi]
上傳時間: 2015-11-01
上傳用戶:xuan‘nian
文法如下: (1)S->aAcBe (2)A->b (3)A->Ab (4)B->d 關於lr0的語法分析
上傳時間: 2015-11-22
上傳用戶:thinode