⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 矩阵直接三角分解法.txt

📁 线性方程组数值解法 包括高斯赛德尔迭代法 矩阵直接三角分解法 列主元高斯消去法 雅可比迭代法
💻 TXT
字号:
#include<stdio.h>
void main()
{
	float x[4];
	int i;
	float a[4][5]={1,2,-12,8,27,
		5,4,7,-2,4,
		-3,7,9,5,11,
		6,-12,-8,3,49};
	void DirectLU(float*,int,float[]);
	DirectLU(a[0],4,x);
	for(i=0;i<=3;i++)
		printf("x[%d]=%f\n",i,x[i]);
}

void DirectLU(float*u,int n,float x[])
{
	int i,r,k;
	for(r=0;r<=n-1;r++)
	{
		for(i=r;i<=n;i++)
			for(k=0;k<=r-1;k++)
				*(u+r*(n+1)+i)-=*(u+r*(n+1)+k)*(*(u+k*(n+1)+i));
			for(i=r+1;i<=n-1;i++)
			{
				for(k=0;k<=r-1;k++)
					*(u+i*(n+1)+r)-=*(u+i*(n+1)+k)*(*(u+k*(n+1)+r));
                *(u+i*(n+1)+r)/=*(u+r*(n+1)+r);
			}
	}
	for(i=n-1;i>=0;i--)
	{
		for(r=n-1;r>=i+1;r--)
			*(u+i*(n+1)+n)-=*(u+i*(n+1)+r)*x[r];
		x[i]=*(u+i*(n+1)+n)/=*(u+i*(n+1)+i);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -