📄 ex_1sqp2.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 ex1_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; /* Number of parameters */ m = 0; /* Number of equality constraints */ p = 1; /* Number of inequality constraints */ x = a1d_allo_dbl( n ); /* Allocate storage for x */ x[0] = 2.9; /* Initial guess */ x[1] = 2.0; tol = 1.0e-4; /* Error tolerance */ sqp_2( ex1_fun, x, n, m, p, tol ); printf("\nSolution x: "); print_vec_dbl( x, n ); printf("\n"); printf(" # of function evaluations: %d\n",n_fun);}/* Rosenbrock's function*/void ex1_fun( f, g, x )long double *f, *g, *x;{ n_fun++; *f = 100.0*(x[1]-x[0]*x[0])*(x[1]-x[0]*x[0]) + (1.0-x[0])*(1.0-x[0]); g[0] = x[0]*x[0] + x[1]*x[1] - 1.5; return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -