- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性方程组AX=B的数值计算方法实验教程
《数值计算方法》实验报告
线性方程组AX=B的数值计算方法实验
学号:2013040207012 姓名:梁哲豪
实验描述
在自然科学和工程技术中很多问题的解决常常归结为解线性代数方程组。例如电学中的网络问题,船体数学放样中建立三次样条函数问题,用最小二乘法求实验数据的曲线拟合问题,解非线性方程组问题,用差分法或者有限元法解常微分方程,偏微分方程边值问题等都导致求解线性方程组,而且后面几种情况常常归结为求解大型线性方程组。线性代数方面的计算方法就是研究求解线性方程组的一些数值解法与研究计算矩阵的特征值及特征向量的数值方法。
关于线性方程组的数值解法一般有两类:
直接法:若在计算过程中没有舍入误差,经过有限步算术运算,可求得方程组的精确解的方法。
迭代法:用某种极限过程去逐步逼近线性方程组精确解的方法。迭代法具有占存储单元少,程序设计简单,原始系数矩阵在迭代过程中不变等优点,但存在收敛性及收敛速度等问题。
上三角线性方程组的求解:
基本算法:
高斯消元法:将原方程组化为三角形方阵的方程组:
lik=aik/akk
aij=aij-lik*akj
(k=1,2,…,n-1; i=k+1,k+2, …,n ;j=k+1,k+2, …,n+1)
由回代过程求得原方程组的解:
xn=ann+1/ann
xk=(akn+1-akjxj)/akk
LU分解法:
将系数矩阵A转化为A=L*U,L为单位下三角矩阵,U为普通上三角矩阵,然后通过解方程组l*y=b,u*x=y,来求解x。
二、实验内容
1、许多科学应用包含的矩阵带有很多零。在实际情况中很重要的三角形线性方程组有如下形式:
……
构造一个程序求解三角形线性方程组。可假定不需要变换。而且可用第k行消去第k+1行的。
核心代码:
#includeiostream.h
#includemath.h
#includeiomanip.h
#define N 4//矩阵阶数
void ColPivot(double c[N][N+1],double []); //函数声明
void main(){
int i,j;
double x[N];
double c[N][N+1]={1,3,5,7,1,
2,-1,3,5,2,
0,0,2,5,3,
-2,-6,-3,1,4};
cout----------------------------------------endl;
cout系数矩阵为: \n;
for(i=0;iN;i++){
for(j=0;jN;j++)
coutsetw(10)c[i][j];
coutendl;
}
cout右侧矩阵 y 为: \n;
for(i=0;iN;i++)
coutsetw(10)c[i][N];
coutendl;
cout----------------------------------------endl;
ColPivot(c,x); //调用函数,进行高斯消去法变换
cout变换后得到的三角矩阵: \n;
for(i=0;iN;i++){
for(j=0;jN;j++)
coutsetw(10)c[i][j];
coutendl;
}
cout变换后的右侧矩阵 y 为: \n;
for(i=0;iN;i++)
coutsetw(10)c[i][N];
coutendl;
cout----------------------------------------endl;
cout方程的解为: \n;
for(i=0;iN;i++)
cout x[i]= x[i]endl;
cout----------------------------------------endl;
}
void ColPivot(double c[N][N+1],double x[])
{
int i,j,k;
double p,max;
double t[N];
for(i=0;i=N-2;i++)
{
max=0;
k=i;
for(j=i+1;jN;j++)
if(fabs(c[j][i])max)
{
k=j;
max=fabs(c[j][i]); //选主元
}
if(k!=i)
for(j=i;j=N;j++)
{
p=c[i][j];
c[i][j]=c[k][j]; //选出主元后进行交换
c[k][j]=p;
}
for(j=i+1;jN;j++)
{
p=c[j][i]/c[i][i];
for(k=i;k=N;k++)
c[j][k]-=p*c[i][k]; //高斯消去,进行计算
}
}
for(i=0;iN;i++)
t[i]=c[i][N];
for(i=N-1;i=0;i--) //利用回代法求最终解
{
for(j=N-1;ji;j--
您可能关注的文档
- 系统辨识实验报告教程.docx
- 2015年4月26日四川省属事业单位《综合知识》真题及答案解析要点.doc
- 系统设计文档模版教程.docx
- 2015年4月-市场营销学要点.ppt
- 系统集成项目管理工程师中级试题(精选)教程.doc
- 系统集成工程师要点分析教程.doc
- 系统集成继续教育推荐课程2打印教程.docx
- 系统集成项目管理工程师模拟真题(含上下午)教程.docx
- 素质拓展活动策划案教程.docx
- 系统运行维护手册_XXX项目教程.doc
- 计及电动汽车移动储能动态电价的微电网优化调度研究及解决方案.pdf
- 浅谈电动汽车充电桩绝缘智能化自检装置的设计与应用 .pdf
- 浅谈电动汽车公共充电桩布局方案评价方法.pdf
- 浅谈基于弹性响应的电动汽车快充电价定价策略 汽车充电桩有序充电.pdf
- 浅谈光储充一体化社区的有序充电策略及解决方案.pdf
- 晚期肾透明细胞癌系统性治疗中国专家共识(2024版).pptx
- 中国膀胱癌保膀胱治疗多学科诊治协作共识(2022版).pptx
- 成人心血管外科手术体外循环患者血液管理指南.pptx
- 下尿路修复重建移植物应用规范中国专家共识.pptx
- 中国儿童急性非静脉曲张性上消化道出血诊治指南(2024).pptx
文档评论(0)