牛顿法求解非线性方程组的解C程序
牛顿法求解非线性方程组的解C程序(经调试)
/*############################################################################*/
/*#### 本函数用用牛顿法求解非线性方程组的解 #########*/
/*#### 用户在子函数function中输入方程组的信息,即依次输入fi(x) #########*/
/*#### 用户在子函数Jacobi中输入Jacobi矩阵的信息,依次输入行与列 #########*/
/*#### 用户按提示在程序执行的过程中输入方程的维数n,以及初始向量X0#########*/
/*#### 本程序中迭代精度设为10^(-7),用户可在主程序中改动此值 #########*/
/*#### 程序输出为满足精度要求的方程组的解 #########*/
/*#### 本程序已经调试,作者:沈欢,邮箱:holyshen@pku.edu.cn #########*/
/*############################################################################*/
#include <stdio.h>
#include <math.h>
void function(double *x,double *f);//本子函数用于计算向量f(x)的值
//入口参数为方程x指针向量,f(x)向量指针
void Jacobi(double *x,double **J);//本子函数用于计算Jacobi矩阵的值
//入口参数为向量x的指针和J矩阵的指针
void LU(int n,double *b,double ** A,double *detax);//本子函数用于计算线性方程组Ax=b的解,用LU分解法实现
//入口参数为方程维数n,右端项b,系数矩阵A
//detax用于存储方程组的解
void main()
{
int n,i,j,breakindex;
double num;
double error=0.0000001;//定义精度为10^(-7)
//***********信息输入***************//
printf("本函数用用牛顿法求解非线性方程组的解\n");
printf("用户在子函数function中输入方程组的信息,即依次输入fi(x)\n");
printf("用户在子函数Jacobi中输入Jacobi矩阵的信息,依次输入行与列\n");
printf("本程序中迭代精度设为10^(-7),用户可在主程序中改动此值\n");
printf("现在请输入非线性方程的维数n(方程个数):(按Enter键继续)\n");
scanf("%d",&n);
double *x=new double [n+1];//开辟解的存储空间,用于存储xk向量
printf("\n");
printf("请依次输入初始迭代向量X0的各元素值,并按Enter键继续\n");
for(i=1;i<=n;i++)//输入A矩阵
{
scanf("%lf",&num);
x[i]=num;
}
//**************************************//
//**************迭代求解****************//
double *f=new double [n+1];//开辟空间用于存储f(xk)向量
double *detax=new double [n+1];//开辟空间用于存储△xk向量
double **J = new double * [n+1];//为Jacobi矩阵开辟空间
for(i=0;i<n+1;i++)J[i]=new double [n+1];
for(i=1;;i++)//进行迭
你可能喜欢
- 非线性方程组求解
- 牛顿法解非线性方程组
- matlab求解非线性方程组
- 求解线性方程组
- 线性算子
- Newton迭代法
- 非线性方程组的求解1页
- 用龙格_库塔法求解非线性方程组6页
- C语言求解非线性方程、线性方程组代码5页
- 非线性方程组的数值求解36页
- 带有梯度信息的遗传算法在求解非线性方程组中的应用_排新颖3页
- 牛顿法求解非线性方程组matlab源程序3页
- 3_牛顿拉夫森迭代法解非线性方程组2页
- 解非线性方程组的一个改进牛顿法3页
- 基于Matlab的牛顿迭代法解非线性方程组2页
- 牛顿下山法求非线性方程组解12页
- 牛顿法求解非线性方程组的解C程序2页
- 牛顿迭代法解非线性方程组5页
- 牛顿法求解非线性方程组matlab源程序3页
- 基于matlab的非线性方程组求解的方法2页
- matlab求解非线性方程组及极值5页
- matlab实验 非线性方程(组)求解11页
- 基于matlab的非线性方程组求解的方法2页
- matlab实现牛顿迭代法求解非线性方程组5页
- 非线性方程组的求解1页
- 线性方程组求解40页
- 一种循环分布的Guass_Seidel迭代算法求解线性方程组2页
- 一种网上求解线性方程组的Guass_Seidel并行迭代算法5页
- 用龙格_库塔法求解非线性方程组6页
- 第2章_线性方程组求解22页
- 3.1线性算子13页
- 线性算子与线性泛函16页
- 第三章 线性算子与线性泛函37页
- 第三节线性算子22页
- 线性算子方程求解方法4页
- 赋范线性空间上的算子幂级数收敛判别法2页


