求最值方法
y=f(x,t),如果我想求当y取得最大值时,所对应的x和t应该怎么弄啊?麻烦高手指教回复 楼主 kexin 的帖子
请问LZ想要用C解决此问题,还是其它的? 找个合适的优化算法做一下就可以了,论坛有很多相关的实例 对于优化算法,我不太懂这方面的知识。我想实现如图所示:请问怎么做呢,数学方法倒是容易算,可是编程如何实现呢?请求帮助! 呵呵,挺简单的最值问题,充要条件如下:
(1) f'(x0)=0;
(2) f(x0)>=f(x0-);
(3) f(x0)>=f(x0+);
即可。
具体程序中,你可以:
(1)首先求出f'(x)的解析式,定义为F(x);
(2)使用牛顿法,求出F(x)==0的解x0;
(3)定义条件语句,检验(2)得到的x0,并最终得出需要的解。
解毕 按照LSD意见办理 h=hanning(255);
=tfrstft(y1,1:n,2048,h);
FreqBins = FreqBins(1:1024) * fs * 2;
Pyy=abs(BT).^2;
PP=Pyy(:); %变成一维数组
=max(PP);
fprintf('一维数组中最大值的位置: %10d\n',Ploc);
Tm=fix(Ploc/2048)+1;
Fm=mod(Ploc,2048);
fprintf('相应时间位置: %10d 频率位置: %10d\n',Tm,Fm);
fprintf('最大值的时间: %8.5f 频率: %8.5f\n',t(Tm),FreqBins(Fm));
我想求能量衰减到最大能量的1/3时,所对应的频率和时间,应该怎么弄啊? 很开心,在自己的摸索下终于作出来了,呵呵分享一下
x=;
x=x';
pp=max(x);
M=1/3*pp;
N=min(abs(x-M));
=find(x==max(M+-N));
Tm=fix(m/2048)+1;
Fm=mod(m,2048);
fprintf('相应时间位置: %10d 频率位置: %10d\n',Tm,Fm);
页:
[1]