导航:首页 > 黄金知识 > 黄金函数

黄金函数

发布时间:2020-10-22 12:05:05

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

首先在新建文件保存为goldmin.m
function[x,y] = goldmin(f,xa,xb,s)
% 黄金分割法求解函数最小值
% 输入
% f 待优化函数
% a,b 区间
% s 精度
% 输出
% x 最优解
% y 最优解对应的最小值
%%
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
if y1>=y2
a = x1;
x1 = x2;
x2 = a + b - x1;
end
y1=f(x1);
y2 = f(x2);
end
x = x1;
y = f(x);
然后在命令区输入
>> 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

2、黄金函数有那些实际应用……

?

3、若对函数y=f(x)定义域内的每一个值x1,都存在唯一的值x2,使得f(x1)f(x2)=1成立,则称此函数为“黄

由题设知,对于f(x)定义域内的任意一个自变量x1,存在定义域内的唯一一个自变量x2,使得f(x1)f(x2)=1成立的函数一定是单调函数,否则可能存在定义域内的不止一个自变量x2,使得f(x1)f(x2)=1成立.
∵①不是单调函数,不合题意.
②因为对于函数f(x)=lnx,当x1=1时,不存在x2使得f(x1)f(x2)=1成立,
对于③f(x)=2x,满足对于f(x)定义域内的任意一个自变量x1,都存在定义域内的唯一一个自变量x2=-x1使得f(x1)f(x2)=1成立,故③满足题意;
∴由此可知,满足条件的函数有③.
故答案为:③.

4、用黄金分割法求目标函数 f(x)=x*x-5*x+2 的最优解(C++)

试试我的程序吧,直接贴到某个地方就能用,百度的代码显示看起来不美观,凑合看吧,建议贴到程序里看方便一些,已经调试通过:
#include<iostream>
using namespace std;
const float EPS=0.000001;//定义常量
float f(float);

//定义函数f
float f(float x)
{
return x*x-5*x+2;
}

void main()
{
float a,b,x1,x2,f1,f2,t,eps;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"eps=";cin>>eps;
x1=a+0.382*(b-a);x2=a+0.618*(b-a);
f1=f(x1);f2=f(x2);

while (b-a>eps)//搜索精度循环节
{
t=f1-f2;
if (t>EPS) {a=x1;x1=x2;f1=f2;x2=a+0.618*(b-a);f2=f(x2);}

else if (t>=-EPS && t<=EPS) {a=x1;b=x2;x1=a+0.382*(b-a);x2=a+0.618*(b-a);f1=f(x1);f2=f(x2);}//函数值相等,两边区间均舍去

else {b=x2;x2=x1;f2=f1;x1=a+0.382*(b-a);f1=f(x1);}
}

cout<<"x*="<<(a+b)/2;
system ("pause");
}

5、用黄金分割法求一元函数F(x)=2x²+3x+5的极小值点。

解:(1)∵函数f(x)=x2-3x+c经过点(0,2) 则c=2 ∴该函数的解析式为f(x)=x2-3x+2 (2)由(1)知f(x)=c=2 ∴2≤5x+5 解得x≥–3/5 ∴该不等式的解为x≥–3/5

6、C语言 用黄金分割法求函数的最小值和取最小值时的x

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

7、黄金函数有谁懂???????

若对函数y=f(x)定义域内的每一个值x1,都存在唯一的值x2,使得f(x1)f(x2)=1成立,则称此函数为“黄金函数”

8、三角函数中黄金公式是怎么回事

你所说的应该就是万能公式
就是弦化切的思想,分式的分子分母同除以余弦,如下:
2tan(α/2)
sinα=——————
1+tan2(α/2)

1-tan2(α/2)
cosα=——————
1+tan2(α/2)

2tan(α/2)
tanα=——————
1-tan2(α/2)

9、黄金分割与三角函数有什么关系?

有一个好玩的地方,当余弦函数与正切函数相等时(tan x=cos x )可以解得正弦函数的两个值。其中一个不成立的值就是负的黄金比例系数。证明如下:
∵cos x=tan x
∴cos x=(sin x)/(cos x)
(sin x)2+sin x-1=0
sin x=(- 1±5½)/2
当sin x=(-1-5½)/2时有sin x的值为负的黄金比例系数.

10、特殊三角函数值的黄金三角

α=18°(π抄/10) sinα袭=(√5-1)/4 cosα=√(10+2√5)/4 tαnα=√(25-10√5)/5
cscα=√5+1 secα=√(50-10√5)/5 cotα=√(5+2√5)
α=36°(π/5) sinα=√(10-2√5)/4 cosα=(√5+1)/4 tαnα=√(5-2√5)
cscα=√(50+10√5)/5 secα=√5-1 cotα=√(25+10√5)/5
α=54°(3π/10) sinα=(√5+1)/4 cosα=√(10-2√5)/4 tαnα=√(25+10√5)/5
cscα=√5-1 secα=√(50+10√5)/5 cotα=√(5-2√5)
α=72°(2π/5) sinα=√(10+2√5)/4 cosα=(√5-1)/4 tαnα=√(5+2√5)
cscα=√(50-10√5)/5 secα=√5+1 cotα=√(25-10√5)/5
通过比较可发现与黄金三角形相关的三角函数值有很强的对称性
这些数值的证明可以借助黄金三角形中的比例

与黄金函数相关的资料