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

📄 ex_12sqp2.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 ex12_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 = 4;	m = 0;	p = 0;		x = a1d_allo_dbl( n );		x[0] = -3;	x[1] = -1;	x[2] = -3;	x[3] = -1;	tol = 1.0e-4;	    sqp_2( ex12_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 ex12_fun( f, g, x )long double *f, *g, *x;{   long double t1, t3, t5, t6, t8, t10, t11, t12, t13, t14, x1, x2, x3, x4;   n_fun++;    x1 = x[0];   x2 = x[1];   x3 = x[2];   x4 = x[3];   t1 = x1*x1;   t3 = pow(x2-t1,2.0);   t5 = pow(1.0-x1,2.0);   t6 = x3*x3;   t8 = pow(x4-t6,2.0);   t10 = pow(1.0-x3,2.0);   t11 = x2-1.0;   t12 = t11*t11;   t13 = x4-1.0;   t14 = t13*t13;   *f = 100.0*t3+t5+90.0*t8+t10+0.101E2*t12+0.101E2*t14+0.198E2*t11*t13;      return;}/*itt = 26, f = 8.134e-13, |g| = 0.000e+00, |dx| = 9.352e-07, |dL| = 5.712e-04norm( dL ) = 3.764e-05Solution x:  1.000000e+00  1.000000e+00  1.000000e+00  9.999999e-01 # of function evaluations: 158*/

⌨️ 快捷键说明

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