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

📄 ex_8sqp2.c

📁 an modern SQP method to make the original matrix more concise
💻 C
字号:
#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 ex8_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 = 5;	m = 3;	p = 5;		x = a1d_allo_dbl( n );		x[0] = -2;	x[1] = 2;	x[2] = 2;	x[3] = -1;	x[4] = -1;		tol = 1.0e-4;	    sqp_2( ex8_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 ex8_fun( f, g, x )long double *f, *g, *x;{   n_fun++;    *f = exp(x[0]*x[1]*x[2]*x[3]*x[4]);      g[0]= x[0]*x[0]+x[1]*x[1]+x[2]*x[2]+x[3]*x[3]+x[4]*x[4]-10.0;   g[1]= x[1]*x[2]-5.0*x[3]*x[4];     g[2]= x[0]*x[0]*x[0]+x[1]*x[1]*x[1]+1.0;   g[3]= (x[0]-2.3)*(x[0]+2.3);   g[4]= (x[1]-2.3)*(x[1]+2.3);   g[5]= (x[2]-3.2)*(x[2]+3.2);   g[6]= (x[3]-3.2)*(x[3]+3.2);   g[7]= (x[4]-3.2)*(x[4]+3.2);      return;}/*itt = 6, f = 5.395e-02, |g| = 7.981e-06, |dx| = 2.406e-03, |dL| = 7.970e-03norm( dL ) = 1.786e-05Solution x:  -1.717107e+00  1.595668e+00  1.827314e+00  -7.636478e-01  -7.636478e-01 # of function evaluations: 45*/

⌨️ 快捷键说明

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