📄 matrix.cpp
字号:
#include"Matrix.h"
#include<iostream.h>
#include<fstream.h>
A::A(int temp_n){
if (temp_n<=1) {
cout<<"构造矩阵失败."<<endl;
}
n=temp_n;
a=new double[n];
b=new double[n];
c=new double[n];
f=new double[n];
X=new double[n];
Y=new double[n];
L=new double[n];
U=new double[n];
}
int A::setA(double *temp_a,double *temp_b,double *temp_c,double *temp_f){
for(int i=2;i<=n;i++){
a[i]=*(temp_a+i-2);
}
for(i=1;i<=n;i++){
b[i]=temp_b[i-1];
}
for(i=1;i<=n-1;i++){
c[i]=temp_c[i-1];
}
for(i=1;i<=n;i++){
f[i]=temp_f[i-1];
}
return 1;
}
int A::getLU(){
if(n<1) return 0;
else{
U[1]=b[1];
for (int i=2;i<n+1;i++){
L[i]=a[i]/U[i-1];
U[i]=b[i]-L[i]*c[i-1];
}
}
return 1;
}
int A::getY(){
Y[1]=f[1];
for (int i=2;i<=n;i++){
Y[i]=f[i]-L[i]*Y[i-1];
}
return 1;
}
double A::getX(){
X[n]=Y[n]/U[n];
for (int i=n-1;i>=1;i--){
X[i]=(Y[i]-c[i]*X[i+1])/U[i];
}
return X[1];
}
void A::show(){
ofstream ofile("compute.txt",ios::app);
for(int i=1;i<=n;i++){
ofile<<X[i]<<endl;
}
}
int A::changef(){
for(int i=2;i<=n-1;i++){
f[i]=X[i];
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -