改进平方根法的C++实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:改进平方根法
学院:___数学学院______________________
班级
姓名:
学号:
实验日期 2015 年 05 月 26 日
自评成绩:97
一、实验目的
(1)熟练掌握改进平方根法和共轭梯度法的迭代过程
(2)尝试使用自己熟悉的计算机语言解决数学中的问题
(3)通过上机实验来巩固课本中所学的知识
二、实验内容与结果
题目1:改进平方根法
源程序1
#include
using namespace std;
int main()
{
double a[100][100],l[100][100],u[100][100],b[10],y[10],x[10];
int i,j,k,n;
cout<<"请输入矩阵的行数: ";
cin>>n;
cout<<"请输入右端项: "< for(j=0;j { cin>>b[j]; } cout<<"请输入矩阵: "< for(i=0;i { for(j=0;j { cin>>a[i][j]; } } for(j=0;j { u[0][j]=a[0][j]; } for(j=1;j { l[j][0]=u[0][j]/u[0][0]; } for(i=1;i { double s=0; for(k=0;k { s=s+l[i][k]*u[k][i]; } u[i][i]=a[i][i]-s; for(j=i+1;j { double s=0; for(k=0;k { s=s+l[i][k]*u[k][j]; } u[i][j]=a[i][j]-s; l[j][i]=u[i][j]/u[i][i]; } } double s=0; for(k=0;k { s=s+l[n-1][k]*u[k][n-1]; } u[n-1][n-1]=a[n-1][n-1]-s; y[0]=b[0]; for(i=1;i { double s=0; for(k=0;k { s=s+l[i][k]*y[k]; } y[i]=b[i]-s; } x[n-1]=y[n-1]/u[n-1][n-1]; for(i=n-2;i>=0;i--) { double s=0; for(k=i+1;k { s=s+u[i][k]*x[k]; } x[i]=(y[i]-s)/u[i][i]; } cout<<"输出结果:"< for(i=0;i { cout<<"x("< } return 0; } 运行结果1