数值计算方法
实验报告
学 院:软件学院
专 业:软件工程
班 级:0602 班
学 号:06001649
姓 名:克 拉
指导教师:李 X
时间:2008 年 7 月 5 日
目 录
线性方程组高斯解法.........................................................................................................................2
列主元素法解方程组.........................................................................................................................5
LU 分解...............................................................................................................................................8
追赶法求解方程组...........................................................................................................................14
最小二乘法拟合多项式...................................................................................................................16
学院 软件学院 专 业
软件工程 0602
班
日期 2008 年 06 月
学号
06001649
姓 名 克 拉 成绩
实验题目 线性方程组高斯解法 指导老师 李 X
一.实验目的
1.熟练运用已学计算方法求解方程组。
2.加深对计算方法技巧,选择正确的计算方法来求解各种方程组。
2
3.培养使用电子计算机进行科学计算和解决问题的能力。
二.实验环境
DEV-C++ 实验语言:c++
三.实验内容
1.合理利用 Gauss 消元法求解下列方程组:
①
四.实验公式
高斯分解法:
l
ik
=a
ik
/a
kk
a
ij
= a
ij
- l
ik
* a
kj
k=1,2,…,n-1
i=k+1,k+2, …,n j=k+1,k+2, …,n+1
x
n
= a
nn+1
/ a
nn
x
k
=( a
kn+1
-∑a
kj
x
j
)/ a
kk
(k=n-1,n-2, …,2,1)
五.源程序
#include<iostream>
using namespace std;
int main()
{
int i,j,k,n,s;
int a[100][100],b[100];
cout<<"HELLO!"<<endl<<"Please input n=";
cin>>n;
cout<<"Please input a[n][n]:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
cout<<"---------------------------"<<endl;
cout<<"your input the data is:\n";
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
cout<<a[i][j]<<" ";
3
}
cout<<endl;
}
cout<<"---------------------------"<<endl;
cout<<"please input b[n]:\n";
for(i=1;i<=n;i++)
cin>>b[i];
k=1;
do
{
for (j=k+1;j<=n;j++) {a[k][j]=a[k][j]/a[k][k];}
b[k]=b[k]/a[k][k];
i=1;
for(i=k+1;i<=n;i++)
{
for (j=k+1;j<=n;j++) {a[i][j]=a[i][j]-a[i][k]*a[k][j];}
b[i]=b[i]-a[i][k]*b[k];
}
if(k==n) break;
k++;
}while(1);
for(i=n-1;i>=1;i--)
{
s=0;
for(j=i+1;j<=n;j++){
s=s+a[i][j]*b[j];}
b[i]=b[i]-s;
}
cout<<"---------------------------"<<endl;
for(i=1;i<=n;i++)
cout<<b[i]<<endl;
system("pause");
return 0;
}
六.运行结果
4
学院 软件学院 专 业 软 件 工 程 0602
班
日期 2008 年 06 月
学号
06001649
姓 名 克 拉 成绩
实验题目 列主元素法解方程组 指导老师 李 X
一.实验目的
1.熟练运用已学计算方法求解方程组
2.加深对计算方法技巧,选择正确的计算方法来求解各种方程组
3.培养使用电子计算机进行科学计算和解决问题的能力
二.实验环境
DEV-C++ 实验语言:c++
三.实验内容
合理利用 Gauss 列主元素消元法求解方程组:
四.实验公式
1.列主元素消元法:
| a
ik
|=max
k≤i≤n
| a
ik
|
l
ik
=a
ik
/a
kk
5
- 1
- 2
- 3
前往页