?? 矩陣直接三角分解法.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 + -