当前位置:首页 » 编程软件 » 黄金分割法编程

黄金分割法编程

发布时间: 2024-03-28 10:00:55

1. c语言编程,用黄金分割法求f(a)=a*a-7*a+10的最优解。设初始值a0=0,初始步长h=1,取迭代精度=0.35。急…

#include <stdio.h>
#include <math.h>
float GetEquation(float x)
{
return x*x-7*x+10;
}
void main()
{
float a=0;
float b=6;
float result = 0;
do {
float c=a+0.618*(b-a);
float d=a+b-c;
if(fabs(GetEquation(c)) < fabs(GetEquation(d)))
{
a=d;
result = c;
}
else
{
b=c;
result = d;
}
} while(fabs(GetEquation(result)) > 0.01);
printf("f(a)=a*a-7*a+10\n");
printf("a=%f\n",result);
}

2. c语言编程:用黄金分割法求 minf(x)=x2+2x+1 急!!!!

给,已经编译运行确认:
#include "math.h"
#include "stdio.h"
#define f(x) x*x+2*x+1 //一元函数,这里按照你的要求写的是:x2+2x+1
//函数功能是用黄金分割法实现求一元函数 的最优解
double hj(double *a,double *b,double e,int *n)
{ double x1,x2,s;
if(fabs(*b-*a)<=e)
s=f((*b+*a)/2);
else
{ x1=*a+0.382*(*b-*a);
x2=*a+0.618*(*b-*a);
if(f(x1)>f(x2))
*a=x1;
else
*b=x2;
*n=*n+1;
s=hj(a,b,e,n);
}
return s;
}
main()
{ double s,a,b,e;
int n=0;
scanf("%lf %lf %lf",&a,&b,&e); // 输入区间[a,b]和精度e的值
s=hj(&a,&b,e,&n); //调用hj函数,其中n代表迭代次数
printf("a=%lf,b=%lf,s=%lf,n=%d\n",a,b,s,n);
}

运行时:
输入:0.6 0.5 0.1
输出结果为:
0.6 0.5 0.1
a=0.600000,b=0.500000,s=2.402500,n=0

3. 用Matlab实现黄金分割法,优化目标函数minf(x)=2x^2-x-1,初始区间为[-1,1],e=0.001

首首悄先在matlab新建文件保存为goldmin.m

function[x,y] = goldmin(f,xa,xb,s)

% 黄金分割法桥芹粗求解函数最小值

% 输入

% f 待优化函数

g = (sqrt(5)-1)/2; % 黄金分割比,0.618

a = xa;

b = xb;

x2 = a + g*(b-a);

x1 = a + b - x2;

y1 = f(x1);

y2 = f(x2);

while abs(b-a) > s

if y1<y2

b = x2;

x2 = x1;

x1 = a + b - x2;

end

>> f = @(x) 2*x^2-x-1;

>> [x,y]=goldmin(f,-1,1,0.001)

x =

0.2497

y =

-1.1250

>>

即当x=0.2497时取最小值-1.125

菲波那契数列

经研究发现,相邻两个菲波那契数的比值是随序号的增加而逐渐趋于黄金分割比的。即f(n-1)/f(n)→0.618…。由于菲波那契数都是整数,两个整数相除之商是有理数,所以只是逐渐逼近黄金分割比这个无理数。但是当我们继续计算出后面更大的菲波那契数时,就会发现相邻两数之比确实是非常接近黄金分割比的敏镇。

热点内容
udpsocketjava 发布:2024-05-09 13:25:59 浏览:857
访问的用法 发布:2024-05-09 13:13:59 浏览:592
移动路由器方盒子什么配置 发布:2024-05-09 13:09:59 浏览:69
pythonmysqlupdate 发布:2024-05-09 13:05:33 浏览:998
sql数据库无法链接 发布:2024-05-09 13:03:56 浏览:616
汽车标配是什么配置 发布:2024-05-09 13:03:14 浏览:746
电脑上编译不了文档怎么办 发布:2024-05-09 12:49:17 浏览:532
商城源码asp 发布:2024-05-09 12:35:49 浏览:145
短拉12珠什么配置好 发布:2024-05-09 12:32:53 浏览:872
linux单网卡vpn服务器搭建 发布:2024-05-09 12:19:18 浏览:397