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

📄 q.c

📁 最速下降法 最速下降法 最速下降法 最速下降法
💻 C
字号:
#include <stdio.h>
#include <math.h>
#define EP 0.001
float H,s[2];
float x[2]={1,1};
float f(float *q)
{
float p;
p=pow(q[0],2)+2*pow(q[1],2)-4*q[0]-2*q[0]*q[1];
return(p);
}
float h()
{
float hh;
hh=(x[0]*s[0]+2*x[1]*s[1]-2*s[0]-s[1]*x[0]-s[0]*x[1])/(pow(s[0],2)+2*pow(s[1],2)-2*s[0]*s[1]);
/* you wai bu suan shu zui jia bu chang.*/
return(hh);
}
main()
{
float y,R;
int i=0,n=0;
do
      {
       n=n+1;
       s[0]=2*x[0]-4-2*x[1];
       s[1]=4*x[1]-2*x[0];
       R=sqrt(pow(s[0],2)+pow(s[1],2));
       printf("\n R is %f.",R);
       H=h();
       for(i=0;i<=1;i++)
          x[i]=x[i]-H*s[i];
      }
while(R>EP);
y=f(x);
printf("\n The Min is %f.",y);
for(i=0;i<=1;i++)
       printf("\n The X%d is %f.",i,x[i]);
printf("\n The Number is %d.",n);
} 

⌨️ 快捷键说明

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