ex_4sqp2.c

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

C
53
字号
#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 ex4_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 = 0;	p = 3;		x = a1d_allo_dbl( n );		x[0] = 1.0;	x[1] = 0.25;		tol = 1.0e-4;	    sqp_2( ex4_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 ex4_fun( f, g, x )long double *f, *g, *x;{   long double fac;   n_fun++;      fac = -0.184*pow((x[0]*3.0e+04),0.3)*x[1];      *f = 0.0064*(x[0]*3.0e+04)*(exp(fac)-1.0);     g[0] = -1.2e13+(3000.0+x[0]*3.0e+04)*(x[0]*3.0e+04)*(x[0]*3.0e+04)*x[1];   g[1] = -4.1+exp(-fac);   g[2] = -x[0]*3.0e+04;      return;}

⌨️ 快捷键说明

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