【高斯赛德尔迭代法】怎样用高斯-赛德尔迭代法求解矩阵方程组
答案:2 悬赏:50 手机版
解决时间 2021-03-04 12:49
- 提问者网友:听门外雪花风
- 2021-03-04 08:45
【高斯赛德尔迭代法】怎样用高斯-赛德尔迭代法求解矩阵方程组
最佳答案
- 五星知识达人网友:慢性怪人
- 2021-03-04 10:01
【答案】 // Seidel.h:interface for the CSeidel class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SEIDEL_H__35754D65_C3B8_4814_B9D7_8DE3BA72EFF3__INCLUDED_)
#define AFX_SEIDEL_H__35754D65_C3B8_4814_B9D7_8DE3BA72EFF3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//Seidel算法
//方法取自《计算方法引论》(第二版)徐萃薇、孙绳武著 高等教育出版社 第187页
//Matrix--系数矩阵,Y--常数项,X0--初始值,dimension--方程的阶数,error--误差;
//count--计算次数,达到次数即使不满足精度也返回积分值
//计算结果在X0中.
class CSeidel
{
public:
static bool Seidel(double *Matrix,double *Y,double *X0,int dimension,double error,int count);
CSeidel();
virtual CSeidel();
};
#endif // !defined(AFX_SEIDEL_H__35754D65_C3B8_4814_B9D7_8DE3BA72EFF3__INCLUDED_)
// Seidel.cpp:implementation of the CSeidel class.
//
//////////////////////////////////////////////////////////////////////
#include stdafx.h
//#include NumericalMethods.h
#include Seidel.h
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSeidel::CSeidel()
{
}
CSeidel::CSeidel()
{
}
//Seidel算法
//方法取自《计算方法引论》(第二版)徐萃薇、孙绳武著 高等教育出版社 第187页
//Matrix--系数矩阵,Y--常数项,X0--初始值,dimension--方程的阶数,error--误差;
//count--计算次数,达到次数即使不满足精度也返回积分值
//计算结果在X0中.
#define Matrix(row,col) (*(Matrix+(row)*dimension+col))
bool CSeidel::Seidel(double *Matrix,double *Y,double *X0,int dimension,double error,int count)
{
int i,j,k=1;
double *X=new double[dimension];
double sum;
do
{
sum=0.0f;
for(i=1;i
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SEIDEL_H__35754D65_C3B8_4814_B9D7_8DE3BA72EFF3__INCLUDED_)
#define AFX_SEIDEL_H__35754D65_C3B8_4814_B9D7_8DE3BA72EFF3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//Seidel算法
//方法取自《计算方法引论》(第二版)徐萃薇、孙绳武著 高等教育出版社 第187页
//Matrix--系数矩阵,Y--常数项,X0--初始值,dimension--方程的阶数,error--误差;
//count--计算次数,达到次数即使不满足精度也返回积分值
//计算结果在X0中.
class CSeidel
{
public:
static bool Seidel(double *Matrix,double *Y,double *X0,int dimension,double error,int count);
CSeidel();
virtual CSeidel();
};
#endif // !defined(AFX_SEIDEL_H__35754D65_C3B8_4814_B9D7_8DE3BA72EFF3__INCLUDED_)
// Seidel.cpp:implementation of the CSeidel class.
//
//////////////////////////////////////////////////////////////////////
#include stdafx.h
//#include NumericalMethods.h
#include Seidel.h
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSeidel::CSeidel()
{
}
CSeidel::CSeidel()
{
}
//Seidel算法
//方法取自《计算方法引论》(第二版)徐萃薇、孙绳武著 高等教育出版社 第187页
//Matrix--系数矩阵,Y--常数项,X0--初始值,dimension--方程的阶数,error--误差;
//count--计算次数,达到次数即使不满足精度也返回积分值
//计算结果在X0中.
#define Matrix(row,col) (*(Matrix+(row)*dimension+col))
bool CSeidel::Seidel(double *Matrix,double *Y,double *X0,int dimension,double error,int count)
{
int i,j,k=1;
double *X=new double[dimension];
double sum;
do
{
sum=0.0f;
for(i=1;i
全部回答
- 1楼网友:英雄的欲望
- 2021-03-04 10:46
哦,回答的不错
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯