资源简介
本C++程序用列主元LU分解法来解线性方程组
代码片段和文件信息
/********************************************************************
本程序用来解四维线性方程组。当然,将在最开始将N换成其他
数字、系数矩阵和右侧矩阵换掉即可解更多维的线性方程组
在运行本程序前,一定要确保方程组有解(通过线性代数里学的知识加以判断)
********************************************************************/
#include
#include
#include
#define N 4
//作函数声明:
void DirectLU(double a[N][N+1]double []); //定义函数作LU分解并求得最终解
void swap(double &double &); //交换函数用来交换两个元素
int main()
{
double x[N];
int ij;
double a[N][N+1]={
1-12-1-8
2-23-3-20
1110-2
1-1434
};
double y[N]={-8-20-24}; //输入系数矩阵和矩阵y
cout<<“系数矩阵为: \n“;
for(i=0;i for(j=0;j cout< cout< }
cout<<“矩阵 y 为: \n“;
for(i=0;i cout< cout< cout<<“----------------------------------------“<
DirectLU(ax);
cout<<“LU矩阵为: \n“;
for(i=0;i for(j=0;j cout< cout< }
cout<<“变换后的矩阵 y 为: \n“;
for(i=0;i cout< cout< cout<<“----------------------------------------“<
cout<<“方程的解为: \n“;
for(i=0;i cout<<“x[“< cout<<“----------------------------------------“<
return 0;
}
void swap(double &adouble &b)
{
a=a+b;
b=a-b;
a=a-b;
}
void DirectLU(double a[N][N+1]double x[])
{
int irkj;
double s[N]t[N];//={-20814-0.8};
double max;
for(r=0;r {
max=0;
j=r;
for(i=r;i {
s[i]=a[i][r];
for(k=0;k s[i]-=a[i][k]*a[k][r];
s[i]=s[i]>0?s[i]:-s[i]; //s[i]取绝对值
if(s[i]>max){
j=i;
max=s[i];
}
}
/*************************************************
if(max==0){
cout<<“输入的矩阵有误,该方程组无解!!!“< return;
}
*************************************************/
if(j!=r) //选出的主元所在行j若不是r则对两行相应元素进行调换
{
for(i=0;i swap(a[r][i]a[j][i]);
}
for(i=r;i for(k=0;k a[r][i]-=a[r][k]*a[k][i];
}
for(i=r+1;i {
for(k=0;k a[i][r]-=a[i][k]*a[k][r];
a[i][r]/=a[r][r];
}
}
for(i=0;i t[i]=a[i][N];
for(i=N-1;i>=0;i--) //利用回代法求最终解
{
for(r=N-1;r>i;r--)
t[i]-=a[i][r]*x[r];
x[i]=t[i]/a[i][i];
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2632 2010-12-18 12:38 列主元LU分解_数组法.cpp
----------- --------- ---------- ----- ----
2632 1
- 上一篇:双向链表的基本操作C语言
- 下一篇:《 C++编程思想》(第二版)练习题答案
相关资源
- LU分解法解线性方程组的C语言代码
- 6自由度机器人运动学正反解C++程序
- C++程序设计精讲
- c++程序设计(全国)
- C++程序设计语言.pdf
- C++程序源代码--21点的扑克牌游戏
- 摄影测量相对定向VC++程序
- 潮流计算C++程序
- C++程序设计教程(第2版).钱能(带详
- 《C++程序设计原理与实践》第二版英
- C++程序设计 思想与方法 第2版 完整扫
- C和C++程序员面试秘笈-董山海_高清版
- 新概念C++程序设计大学教程第2版张基
- 高斯消去法求解线性方程组C/C++程序输
- C++ 21点扑克牌游戏
- [C++程序设计基础第5版上][周霭如林伟
- c++程序设计语言英文第三版.pdf
- C++程序设计实践教程 (马光志 着)
- 备忘录--C++程序
- 蚁群算法C++程序
- C++程序设计谭浩强PDF
- 导入3dmax模型的VC++程序
- C++程序设计(第二版_吴乃陵_课后答案
- USB双向通信上位机VC++程序
- 谭浩强C++程序设计源代码.rar
- 高级语言C++程序设计实验指导
- C++程序设计课后答案机械工业出版社
- Visual_C++程序设计与应用教程课后答案
- 《C++程序设计语言特别版》题解
- C++程序设计:第2版---吴乃陵
评论
共有 条评论