?? 3matrx.cpp
字號:
#include "myinclude.h"
#include <math.h>
#define fenmu 0.00001//分母要求
#define JZ 4 //矩陣的維數
typedef float FL;
int main()
{
FL a[3]={1, 1, 1};//下對角線a
FL b[4]={4, 4, 4, 4};//對角線b
FL c[3]={2, 2, 2};//上對角線c
FL f[4]={1, 2, 3, 4};//y值
//b[0]=b[0]; //l1=b1
if (fabs(b[0])>fenmu)
{
f[0]=f[0]/b[0];//y1=f1/l1
c[0]=c[0]/b[0];//u1=c1/l1
cout<<"l"<<"\t\t"<<"y"<<"\t\t"<<"u"<<endl;
cout<<b[0]<<"\t\t"<<f[0]<<"\t\t"<<c[0]<<endl;
}
else
{
cout<<"分母不符合要求"<<endl;
return 0;
}
for (int i=1;i<JZ-1;i++)
{
//數組中的a[i] 相當于公式中的 a(i+2),因為a的下標由2開始;
b[i]=b[i]-a[i-1]*c[i-1];//li=bi-ai*u(i-1)
if (fabs(b[i])>fenmu)
{
f[i]=(f[i]-a[i-1]*f[i-1])/b[i];//yi=(fi-ai*y(i-1))/li
c[i]=c[i]/b[i];//ui=ci/li
cout<<b[i]<<"\t\t"<<f[i]<<"\t\t"<<c[i]<<endl;
}
else
{
cout<<"分母不符合要求"<<endl;
return 0;
}
}//for結束
///////////////////////////第N次求解///////////////////////
b[i]=b[i]-a[i-1]*c[i-1];
if (fabs(b[i])>fenmu)
{
f[i]=(f[i]-a[i-1]*f[i-1])/b[i];
cout<<b[i]<<"\t\t"<<f[i]<<"\t\t"<<endl<<endl;
}
else
{
cout<<"分母不符合要求"<<endl;
return 0;
}
//回代過程
cout<<"x["<<i+1<<"]="<<f[i]<<endl;
for (int j=JZ-2;j>=0;j--)
{
f[j]=f[j]-c[j]*f[j+1];
cout<<"x["<<(j+1)<<"]="<<f[j]<<endl;
}
return 1;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -