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

📄 threediag.cpp

📁 刚学数值分析
💻 CPP
字号:

//
// ThreeDiag.cpp
//

#include "stdafx.h"
#include "ThreeDiag.h"

ThreeDiag::ThreeDiag(int n, double* VectorA, double* VectorB, double* VectorC, double* VectorF)
{
	m_nDimension=	n;

	a = VectorA;
	b = VectorB;
	c = VectorC;
	f = VectorF;
}

ThreeDiag::~ThreeDiag()
{
}

double* ThreeDiag::GetSolution()
{
	int i;

	double*	x = new double[m_nDimension+1];
	double*	y = new double[m_nDimension+1];
	double*	Beta = new double[m_nDimension+1];

	//
	Beta[0] = c[0]/b[0];
	for(i=1; i<=m_nDimension-1; i++)
	{
		Beta[i] = c[i]/(b[i]-a[i]*Beta[i-1]);
	}

	//
	y[0] = f[0]/b[0];
	for(i=1; i<=m_nDimension; i++)
	{
		y[i] = (f[i]-a[i]*y[i-1])/(b[i]-a[i]*Beta[i-1]);
	}

	//
	x[m_nDimension] = y[m_nDimension];
	for(i=m_nDimension-1; i>=0; i--)
	{
		x[i] = y[i] - Beta[i]*x[i+1];
	}

	return x;
}

⌨️ 快捷键说明

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