當前位置:首頁 » 編程軟體 » 黃金分割法編程

黃金分割法編程

發布時間: 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…。由於菲波那契數都是整數,兩個整數相除之商是有理數,所以只是逐漸逼近黃金分割比這個無理數。但是當我們繼續計算出後面更大的菲波那契數時,就會發現相鄰兩數之比確實是非常接近黃金分割比的敏鎮。

熱點內容
太空工程師編程模塊 發布:2024-11-15 15:15:27 瀏覽:68
apache壓縮 發布:2024-11-15 15:11:54 瀏覽:245
java比較三個數 發布:2024-11-15 15:08:39 瀏覽:835
fml加密 發布:2024-11-15 15:05:56 瀏覽:883
存儲上市龍頭 發布:2024-11-15 14:52:14 瀏覽:38
我的世界伺服器怎麼重置教學 發布:2024-11-15 14:52:13 瀏覽:123
C語言tf 發布:2024-11-15 14:36:22 瀏覽:811
違反密碼法是什麼意思 發布:2024-11-15 14:36:20 瀏覽:921
androidmp3錄音 發布:2024-11-15 14:32:50 瀏覽:494
英朗自動擋哪個配置最好 發布:2024-11-15 14:27:44 瀏覽:254