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

📄 newtonnl.h

📁 解非线性方程组的一种方法:先用一种优化方法将给定初值(它有可能会使得后续的牛顿法发散)通过一条比较快的途径收敛到精确解附近
💻 H
字号:
// NewtonNL.h: interface for the NewtonNL class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_NEWTONNL_H__4707BB52_4DF2_4A30_BD59_9857B4E25809__INCLUDED_)
#define AFX_NEWTONNL_H__4707BB52_4DF2_4A30_BD59_9857B4E25809__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class NewtonNL  
{
public:
  NewtonNL(int _M, PCN pcn);
  virtual ~NewtonNL();
  
  void PutX(TDoubleVec& a);   // 得到X初值
  void InitX(TDoubleVec& x);  // 初始化参数lamda
  
  void Main();                // 将非线性方程组转换成线性方程组,用离散型牛顿方法
  void Fun(TDoubleVec& x);    // 得到方程组的值b[M]
  void Linear(TDoubleMat& a); // 计算线性方程组,得到deltaX

public:
  TDoubleVec m_dXAdd;  // 用来存放线性方程组的计算结果deltaX
  TDoubleVec m_dD;     // 用来存放Fun()的结果b[M]
  TDoubleVec m_dX;     // 用来存放变量x[M]
  double m_dVar;       // 用来存放参数lamda

  int M;
  PCN m_pcn;
};

#endif // !defined(AFX_NEWTONNL_H__4707BB52_4DF2_4A30_BD59_9857B4E25809__INCLUDED_)

⌨️ 快捷键说明

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