| 空格 空格 空格 空格 空格1
---------------------------------------------------
aX = b ----- LUX = b
记 UX = y,
由Ly = b得到
因为无法输出数学符号,以下采用[i, j]Ai 表示对Ai从i到j求和
yi = (bi - [j=1, i-1]Lij yj) / Lii i = 1, 2, ..., n
由UX = y得到
xi = yi - [j=i+1, n]uij xj j = n, n-1, ..., 2, 1
你在纸上验证一下就明白了
--------------------------------------------------------------
以下采用Courant分解 解 aX = b, 经检查,程序运行正确
这是运行结果:
--------------------------------------------------------------
Input n value(dim of Ax=b): 3
Now input the matrix a(i, j), i, j = 0, ..., 2:
1 2 1 -2 -1 -5 0 -1 6
Now input the matrix b(i), i = 0, ..., 2:
24 -63 50
Solve...x_i =
7.000000
4.000000
9.000000
--------------------------------------------------------------
#include "stdafx.h"
#include stdio.h
#include math.h
#define MAX_N 20
int main(int argc, char* argv[])
{
int n; // 未知数个数
int i, j, k;
static double a[MAX_N][MAX_N], b[MAX_N], x[MAX_N], y[MAX_N];
static double l[MAX_N][MAX_N], u[MAX_N][MAX_N];
printf("\nInput n value(dim of Ax=b): ");
scanf("%d", n);
if(n MAX_N)
{
printf("The input n is larger than MAX_N, please redefine the MAX_N.\n");
return 1;
}
if(n = 0)
{
printf("Please input a number between 1 and %d.\n", MAX_N);
return 1;
}
// {{ 程序输入
printf("Now input the matrix a(i, j), i, j = 0, ..., %d:\n", n-1);
for (i=0; in; i++)
for (j=0; jn; j++)
scanf("%lf", a[i][j]);
printf("Now input the matrix b(i), i = 0, ..., %d:\n", n-1);
for(i=0; in; i++)
scanf("%lf", b[i]);
// }} 程序输入
for(i=0; in; i++)
u[i][i] = 1; //
for(k=0; kn; k++)
{
for(i=k; in; i++) // 计算L的第k列元素
{
l[i][k] = a[i][k];
for(j=0; j=k-1; j++)
l[i][k] -= (l[i][j]*u[j][k]);
}
for(j=k+1; jn; j++) //计算U的第k行元素
{
u[k][j] = a[k][j];
for(i=0; i=k-1; i++)
u[k][j] -= (l[k][i]*u[i][j]);
u[k][j] /= l[k][k];
}
}
for(i=0; in; i++) // 解Ly = b
{
y[i] = b[i];
for(j=0; j=i-1; j++)
y[i] -= (l[i][j]*y[j]);
y[i] /= l[i][i];
}
for(i=n-1; i=0; i--) // 解UX = Y
{
x[i]=y[i];
for(j=i+1; jn; j++)
x[i] -= (u[i][j]*x[j]);
}
printf("Solve...x_i = \n"); // 输出结果
for(i=0; in; i++)
printf("%f\n", x[i]);
return 0;
}
关于c语言解线性方程组函数和c++线性方程组求解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- stem建筑经营游戏,建筑经营类游戏排行
- gis如何多选属性,gis属性表选择多个要素
- 别墅酒店拍照软件免费ios,酒店别墅设计图
- 快手直播伴侣模板怎么没有,快手直播伴侣直播为什么没有声音
- vb.net调用一个按键 vb单击窗体代码
- 老年手机静音怎么找到,老年手机静音怎么恢复
- 小学课间桌面小游戏大全,小学课间桌面小游戏大全简单
- 微信视频号是啥东西呀,微信视频号是什么鬼
- go语言和php哪个难 go和php性能比较