91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類(lèi)型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-14
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: c??c++??

資源簡(jiǎn)介

c/c++ 最速下降法計(jì)算最優(yōu)值 利用armijo計(jì)算最優(yōu)步長(zhǎng)

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#define?m?2
#define?epsilon???pow(10-5)

double?norm_1(double?*x);
double?fun_obj(double?*x);//原函數(shù)
void?fun_grad(double?*xdouble?*grad);//求梯度:
void?armijograd(double?*x0double?*grad);
int?main()
{
????int?i;
????double?*x;
????x?=?(double*)malloc(sizeof(double)*m);
????x[0]?=?3.0;
????x[1]?=?1.0;
????double?*grad;
????grad?=?(double*)malloc(sizeof(double)*m);
????grad[0]?=?0.0;
????grad[1]?=?0.0;

????armijograd(xgrad);
????for(i?=?0;i????????printf(“%f?“x[i]);
????free(x);free(grad);
????return?0;
}


double?fun_obj(double?*x)//原函數(shù)
{
????double?f?=?0.0;
????f?=?pow(x[0]-12)+pow(x[1]-12);
????return?f;
}


void?fun_grad(double?*xdouble?*grad)//求梯度:
{
????grad[0]?=?2*(x[0]-1);
????grad[1]?=?2*(x[1]-1);

}


double?norm_1(double?*x)
{
????double?sum?=?0.0;
????int?i;
????for(i=0;i????????sum+=x[i]*x[i];
????sum?=?sqrt(sum);
????return?sum;
}

void?armijograd(double?*x0double?*grad)
{
????int?max_iter?=?5000;???//?max?number?of?iterations
????double?EPS?=?1e-6;????????//threshold?of?gradient?norm

????double?rho?=?0.45;?double?sigma?=?0.2;??//?Armijo?pa

評(píng)論

共有 條評(píng)論

相關(guān)資源