第1節經典四階龍格庫塔法解一階微分方程組3
1.1 演算法概要3
1.2 演算法流程圖3
1.3 程式除錯4
1.4 程式**4
第2節高斯列主元法解線性方程組6
2.1 演算法概要6
2.2 演算法流程圖6
2.3 程式除錯7
2.4 程式**8
第3節牛頓法解非線性方程組11
3.1 演算法概要11
3.2 演算法流程圖11
3.3 程式除錯12
3.4 程式**12
第4節龍貝格求積分演算法15
4.1 演算法概要15
4.2 演算法流程圖15
4.3 程式除錯16
4.4 程式**17
第5節三次樣條插值演算法(壓緊樣條)及其圖形繪製……………………18
5.1 演算法概要18
5.2 程式除錯19
5.3 程式**20
第6節 m次多項式曲線擬合22
6.1 演算法概要22
6.2 演算法流程圖22
6.3 程式除錯23
6.4 程式**24
第7節霍納法多項式求值26
7.1 演算法概要26
7.2 演算法流程圖26
7.3 程式除錯27
7.4 程式**27
第8節二分法解非線性方程28
8.1 演算法概要28
8.2 演算法流程圖29
8.3 程式除錯29
8.4 程式**29
第9節牛頓-拉弗森迭代解非線性方程31
9.1 演算法概要31
9.2 程式除錯31
9.3 程式**31
第10節不動點法解非線性方程32
10.1 演算法概要32
10.2 程式除錯32
10.3 程式**33
第11節設計體會及今後的改進意見34
11.1 設計體會34
11.2 改進意見34
參考文獻35
第1節經典四階龍格庫塔法解一階微分方程組
1.1經典四階龍格庫塔法解一階微分方程組演算法概述
4階龍格-庫塔方法(rk4)可模擬n=4的泰勒方法的精度。這種演算法可以描述為,自初始點開始,利用
生成的近似序列,其中
1.2 經典四階龍格庫塔法解一階微分方程組演算法流程圖
1.3經典四階龍格庫塔法解一階微分方程組程式除錯
將編寫好的**放在vc6.0環境中編譯,直接執行程式便可以得到求解微分方程,並且的結果。如圖:
將這些點進行插值或者擬合後就可以得到微分方程的解。
1.4 經典四階龍格庫塔法解一階微分方程組**
#include
#include
#define n 24
//4階龍格-庫塔方法
void rk4(double (*p)(double t,double y),double a,double b,double ya,int m)
; y=(double*)malloc((m+1)*sizeof(double));
//t=;
t[0]=a;
for(i=1;i
y[0]=ya;
for(i=0;i
r[0]=t;
r[1]=y;
printf("tk=\ty(tk)=\n");
for(i=0;i
//return r;
}//微分方程的函式檔案
double f(double t,double y)
main()
第2節高斯列主元法解線性方程組
2.1 高斯列主元演算法概要
首先將線性方程組做成增光矩陣,對增廣矩陣進行行變換。
對第元素,在第i列中,第i行及以下的元素選取絕對值最大的元素,將該元素最大的行與第i行交換,然後採用高斯消元法將新得到的消去第i行以下的元素。一次進行直到。從而得到上三角矩陣。
再對得到的上三角矩陣進行回代操作,即可以得到方程組的解。
2.2高斯列主元演算法流程圖
2.3高斯列主元程式除錯
編寫好程式,然後編譯鏈結,顯示視窗如下,提示輸入待求解的非線性方程組的增廣矩陣的行數,這裡,我們輸入3。
回車後,程式提示輸入三行四列的增廣矩陣,我們這裡不妨輸入如下矩陣
然後,回車開始求解,結果如下
2.4 高斯列主元演算法**
#include
#include
#include
//在列向量中尋找絕對值最大的項,並返回該項的標號
int findmax(int p,int n,double *a)
}return j;
}//交換矩陣中的兩行
void exchangerow(int p,int j,double *a,int n)
}//上三角變換,a為增廣矩陣的指標,n為矩陣的行數。
void uptrbk(double *a,int n)
消去p元素一下的p列內容。
for(k=p+1;k
}printf("\n增廣矩陣高斯列主元消去後的矩陣為:\n");
for(j=0;j
}//下面是回代函式
double* backsub(double *a,int n)
return x;
}main()
{ int n=0,i=0;
數值計算方法課程設計
1 方法一 2 方法二 3.程式設計 1 演算法設計一 含流程圖 2 程式設計一 3 演算法設計二 含流程圖 4 程式設計二 4.程式實現 1 程式實現一 2 程式實現二 二 執行環境 1 c語言 或c 執行環境 2 matlab執行環境 三 執行結果分析及應用 四 實驗心得 五 參考文獻 六 附錄...
《數值分析》課程設計報告
課程設計報告 課程設計題目 牛頓迭代法求解非線性方程組 學生姓名 專業 班級 指導教師 題目 在化學工程中常常研究在乙個封閉系統中同時進行的兩種可逆反應 其中a,b,c和d代表不同的物質。反應達到平衡是有如下的平衡關係 其中稱為平衡常數,代表平衡狀態時該物質的濃度。假定反應開始時各種物質的濃度為 而...
正文數值計算課程設計正
寫出初值 t0,x0,y0 微分區間 a b 和微分方程f t,x,y 和g t,x,y 步長h 利用和生成近似值序列 圖1 1 流程圖 例1 1 用rk4方法求解區間 0 0.2 上一階微分方程組 且步長h 0.02時的龍格庫塔解。呼叫程式執行結果如下 圖1 2 介面圖 所以本題的解如上圖所示。i...