24小时热门版块排行榜    

查看: 1174  |  回复: 0

明00媛

金虫 (初入文坛)

[求助] 寻峰的函数!!

我这里的数据是pgm的,我将其处理成多个高斯拟合的形式,现阶段只能将其最大的那个拟合出来,其他的高斯拟合我需要找到其峰值的位置!
我把前边的语句先列举上:
function [ OutArr ] = Graph( NameFile, PlotOut, Angl)
InputVar = nargin;
DAT=importdata(NameFile);

    if (InputVar>2)
     Angle = Angl;
    else
        Angle = 0;
    end

DAT = imrotate(DAT, Angle, 'nearest');
IMG=medfilt2(DAT,[3,3]);      
[md, nd] = size(IMG);
disp({'M=' ,md , 'N=', nd});

Noise = mean(IMG(1:40));

i=0:nd-1;
X2D=i;

if (InputVar >1)&(PlotOut == 'Y')
    Hendl=figure;
    imagesc(IMG);
end
[Max, INmax] = max(IMG);
[Max, IMmax] = max(Max);
Nmax = INmax(IMmax);
disp({'Nmax = ', Nmax; 'Mmax = ', IMmax});      

Top=Nmax+20;   
Bottom=Nmax-20;   
   
Y2D(i+1)=mean(IMG(Bottom:Top,i+1));
Y2D = Y2D-Noise;
Y2D = Y2D/max(Y2D);
gaussEqn = 'a*exp(-((x-b)/c)^2)+d';
startPoints = [1, IMmax, 1, 0];
f = fit(X2D', Y2D', gaussEqn, 'Start', startPoints);
FitGaussD = f(X2D);
Cint = confint(f, 0.95);


希望有大神能帮忙写出寻峰的语句!
回复此楼

» 猜你喜欢

不骄不躁,脚踏实地
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 明00媛 的主题更新
信息提示
请填处理意见