ex_2sqp2.c

来自「an modern SQP method to make the origina」· C语言 代码 · 共 55 行

C
55
字号
#include <stdio.h>#include <stdlib.h>#include <math.h>#include "math_util.h"int n_fun;main(){    long double tol, *x;    int n, m, p;    void ex2_fun( long double *, long double *, long double * );    void sqp_2( void(*)(long double *, long double *, long double *),        long double *, int, int, int, long double );            n_fun = 0;    	n = 2;	m = 1;	p = 0;		x = a1d_allo_dbl( n );		x[0] = 1.0;	x[1] = 1.0;		tol = 1.0e-4;	    sqp_2( ex2_fun, x, n, m, p, tol );        printf("\nSolution x: ");    print_vec_dbl( x, n );    printf("\n");    printf(" # of function evaluations: %d\n",n_fun);}/*	*/void ex2_fun( f, g, x )long double *f, *g, *x;{   n_fun++;      *f = log(1.0+x[0]*x[0])-x[1];   g[0] = (1.0+x[0]*x[0])*(1.0+x[0]*x[0]) + x[1]*x[1] - 4.0;      return;}/*itt = 6, f = -1.732e+00, |g| = 9.773e-06, |dx| = 2.211e-03, |dL| = 6.897e-03norm( dL ) = 8.029e-05Solution x:  2.532739e-05  1.732054e+00 # of function evaluations: 22*/

⌨️ 快捷键说明

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