麻烦各位兄弟帮我想想这个算法问题,要多少分给多少,我实在想不到了。
一个函数,f(x),它只有一个自变量x,f(x)只有一个最小值,函数的大致形状但如图:不知道怎么发张图,给个链接。要求的是f(x)的最小值,可以用循环枚举来做,当f的精度达到0。0000001时,可以认为是最小。
大家给个思路,随便用语言说说,描述一下也行,不用规范,能看懂就可以,流程图也行。假如只有一个最小值我是这样想的。
1:x0先取一个初值,求出对应的一个f0,设一个比较的大的增量d,用1吧,d=1;
2:x1=x0+d,再算对应的函数值f1(x1)
3:判断,if (f1<f0)then
{ if (f1-f0〈0.0000001)then 保存结果并退出;
else {x0=x1;f0=f1;回到第2步;} }
else 往下
4:d=d/10;增量减少,再 回到第二步;可是这样只能求到第一个最小值,第二个怎么求啊?
一个函数,f(x),它只有一个自变量x,f(x)只有一个最小值,函数的大致形状但如图:不知道怎么发张图,给个链接。要求的是f(x)的最小值,可以用循环枚举来做,当f的精度达到0。0000001时,可以认为是最小。
大家给个思路,随便用语言说说,描述一下也行,不用规范,能看懂就可以,流程图也行。假如只有一个最小值我是这样想的。
1:x0先取一个初值,求出对应的一个f0,设一个比较的大的增量d,用1吧,d=1;
2:x1=x0+d,再算对应的函数值f1(x1)
3:判断,if (f1<f0)then
{ if (f1-f0〈0.0000001)then 保存结果并退出;
else {x0=x1;f0=f1;回到第2步;} }
else 往下
4:d=d/10;增量减少,再 回到第二步;可是这样只能求到第一个最小值,第二个怎么求啊?
图的连接
有问题能说清楚一点吗?在什么地方?