東南大學數值分析上機練習後三章

2022-10-06 17:21:02 字數 2663 閱讀 5699

數值分析上機練習

(以vc++6.0為操作平台)

第四章(4.38)

程式如下:

#include<>

void main(void)

cout< //求出u[j]和v[j]的初值

v[0]=1;

u[n]=1;

for(j=1;j<=n-1;j++)

//求出d[j]的值

for(j=1;j

d[0]=6*((y[1]-y[0])/h[0]-df[0])/h[0];

d[n]=6*(df[1]-(y[n]-y[n-1])/h[n-1])/h[n-1];

for(j=1;j<=n;j++)

cout< for(j=0;j

cout< for(j=0;j<=n;j++)

cout<<'d'<<'['< }

cout< //利用書本上的追趕法求解方程組

for(i=0;i<=n;i++)

cout< t[0]=b[0];

yy[0]=d[0];

//消元過程

for(i=1;i<=n;i++)

//回代過程

m[n]=yy[n]/t[n];

for(i=n-1;i>=0;i--)

//將m[j]的值輸出

for(i=0;i<=n;i++)

cout< }

}程式結果:詳見附圖4.38jpg

編制的程式求車門的3次樣條插值函式s(x):

x屬於區間[0,1]時;

s(x)=2.51+0.8(x)-0.0014861(x)(x)-0.00851395(x)(x)(x)

x屬於區間[1,2]時;

s(x)=3.3+0.771486(x-1)-0.027028(x-1)(x-1)-0.00445799(x-1)(x-1)(x-1)

x屬於區間[2,3]時;

s(x)=4.04+0.704056(x-2)-0.0404019(x-2)(x-2)-0.0036543(x-2)(x-2)(x-2)

x屬於區間[3,4]時;

s(x)=4.7+0.612289(x-3)-0.0513648(x-3)(x-3)-0.0409245(x-3)(x-3)(x-3)

x屬於區間[4,5]時;

s(x)=5.22+0.386786(x-4)-0.174138(x-4)(x-4)+0.107352(x-4)(x-4)(x-4)

x屬於區間[5,6]時;

s(x)=5.54+0.360567(x-5)+0.147919(x-5)(x-5)-0.268485(x-5)(x-5)(x-5)

x屬於區間[6,7]時;

s(x)=5.78-0.149051(x-6)-0.657537(x-6)(x-6)+0.426588(x-6)(x-6)(x-6)

x屬於區間[7,8]時;

s(x)=5.4-0.184361(x-7)+0.622227(x-7)(x-7)-0.267865(x-7)(x-7)(x-7)

x屬於區間[8,9]時;

s(x)=5.57+0.256496(x-8)-0.181369(x-8)(x-8)+0.0548728(x-8)(x-8)(x-8)

x屬於區間[9,10]時;

s(x)=5.7+0.058376(x-9)-0.0167508(x-9)(x-9)+0.0583752(x-9)(x-9)(x-9)

s(0.5)=2.90856 s(1.5)=3.67843s (2.5)=4.38147

s(3.5)=4.98819 s(4.5)=5.38328s(5.5)=5.7237

s(6.5)=5.59441 s(7.5)=5.42989s(8.5)=5.65976

s(9.5)=5.7323

第六章(6.21)

程式如下:

#include<>

#include<>

#include<>

#include<>

ofstream outfile("");

//此處定義函式f(x,y)的表示式

//使用者可以自己設定所需要求得函式表示式

double f1(double x,double y)

//此處定義求函式精確解的函式表示式

double f2(double x)

//此處為精確求函式解的通用程式

void accurate(double a,double b,double h)

while(i<(b-a)/h+1);

}//此處為經典runge-kutta公式的通用程式

void rk4(double a,double b,double h,double c)

while(i<(b-a)/h+1);

}void ab4(double a,double b,double h,double c)

int j=3;

y1[0]=y[0];

y1[1]=y[1];

y1[2]=y[2];

y1[3]=y[3];

do{x[j]=x[0]+j*h;

y1[j+1]=y1[j]+(55*f1(x[j],y1[j])-59*f1(x[j-1],y1[j-1])+37*f1(x[j-2],y1[j-2])-9*f1(x[j-3],y1[j-3]))*h/24;

數值分析上機報告

數學與計算科學學院 實驗報告 實驗專案名稱迭代法求線性方程組 所屬課程名稱數值方法a 實驗型別驗證型 實驗日期2011.11.03 班級學號 姓名成績 附錄1 源程式 附錄2 實驗報告填寫說明 1 實驗專案名稱 要求與實驗教學大綱一致。2 實驗目的 目的要明確,要抓住重點,符合實驗教學大綱要求。3 ...

數值分析上機實習報告

學號 姓名 專業 聯絡 2011 年 11 月 序言1.程式語言 我的數值分析上機實踐採用matlab語言作為程式語言,利用matlab集數值計算 符號計算和圖形視覺化三大功能與一體的特點程式設計實現,採用函式檔案編寫程式命令流,並將計算結果儲存為excel格式,並根據計算結果生成圖形,方便查閱 分...

《數值分析》上機實習報告

數值分析程式設計作業 一.housholder變換.求方程的解 二.求特徵值 一,程式要求 1 用household變換,把a化為三對角陣b 並列印b 2 用超鬆弛法求解bx b 取鬆弛因子 1.4,x 0 0,迭代9次 3 用列主元消去法求解bx b。4 用對分法求b 即a 的小於23且最接近23...