正文數值計算課程設計正

2023-01-07 15:30:04 字數 1631 閱讀 5832

寫出初值(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 介面圖

所以本題的解如上圖所示。

#include

using namespace std;

int main()

return 0;

}double f(double tt,double xx,double yy)

double g(double tt,double xx,double yy)

首先寫出線性方程組的增廣矩陣;然後尋找最大主元,並交換主元行;接著開始消元形成三角矩陣,最後進行上三角矩陣回代求解。

圖2-1 流程圖

例2.1:解下面非線性方程組的解,

呼叫程式執行結果如下:

圖2-2 介面圖

所以方程組的解為:

#include

#include

#include

using namespace std;

int main()

for(h=0;h

t=a[i+1][h]/a[h][h];

for(j=0;j a[i+1][j]=-t*a[h][j]+a[i+1][j];//消元

}cout<<"消元後的增廣矩陣"

for(j=0;jcout

if(a[h][h]==0)

cout<<"!!此方程組的係數矩陣是奇異的,解不唯一,不適用於高斯回代列主消元法求解。"

else

x[j]=a[j][j+1]/a[j][j];}

cout<<"方程組的解分別如下:"< for(k=0;k cout<<"x"

第一步:寫出函式向量和雅可比行列式矩陣及初始值。第二步:

求出函式向量=和雅可比行列式矩陣=。第三步:建立線性方程組解出。

第四步:比較是否滿足所要求的誤差限,若滿足就輸出,否則重複第一步至第三步。

圖3-1 流程圖

例3.1:用牛頓迭代法求解非線性方程組,設有非線性方程組初始值誤差小於0.0001;

呼叫程式執行結果如下:

圖3-2 介面圖

經過三次迭代後的x=1.90068和y=0.311219為滿足題意的方程組的解。

#include <>

#include

using namespace std;

#define n 2

void juzhen(float (*a)[n])

if(fabs(q)>=0.001)

else

a+k)+j)=0;

a+j)+k)=0;

}for(i=0;i

for(j=0;ja+i)+j)=*(*(a+i)+j)+c[i]*b[j];}

}for(k=n-1;k>=0;k--)

{if(k1[k]!=k)

for(i=0;i

z=*(*(a+i)+k1[k]);

數值計算方法課程設計

1 方法一 2 方法二 3.程式設計 1 演算法設計一 含流程圖 2 程式設計一 3 演算法設計二 含流程圖 4 程式設計二 4.程式實現 1 程式實現一 2 程式實現二 二 執行環境 1 c語言 或c 執行環境 2 matlab執行環境 三 執行結果分析及應用 四 實驗心得 五 參考文獻 六 附錄...

數值方法課程設計

第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...

《數值分析》課程設計報告

課程設計報告 課程設計題目 牛頓迭代法求解非線性方程組 學生姓名 專業 班級 指導教師 題目 在化學工程中常常研究在乙個封閉系統中同時進行的兩種可逆反應 其中a,b,c和d代表不同的物質。反應達到平衡是有如下的平衡關係 其中稱為平衡常數,代表平衡狀態時該物質的濃度。假定反應開始時各種物質的濃度為 而...