當前位置:編程學習大全網 - 編程軟體 - matlab高手

matlab高手

用fminsearch,我正幫妳研究呢。。。

補充:

我已經發現壹些問題,主要是時間t值很大,exp(-exp(-t)在這個區域內尋求最優解的時候很困難。因為這個區域過於平整,全部在1附近,這樣的話無論怎麽優化,都難出理想結果,需要對t做些手腳。。。

function [estimates, model, feval, flag] = fitcurvedemo_my(xdata, ydata)

% Call fminsearch with a random starting point.

start_point = [-100 0 0];

model = @expfun_my;

options = optimset('MaxFunEvals',1e6, 'MaxIter', 1e6);

[estimates,feval,flag] = fminsearch(model, start_point, options);

% subfunction expfun_my

function [sse, FittedCurve] = expfun_my(params)

Sm = params(1);

c = params(2);

a = params(3);

FittedCurve = Sm*exp(c*exp(a*xdata));

ErrorVector = FittedCurve - ydata;

sse = sum(ErrorVector .^ 2);

end

end

這個存成fitcurvedemo_my.m文件,試壹下~~

plot(xdata, ydata, '*')

hold on

[sse, FittedCurve] = model(estimates);

plot(xdata, FittedCurve, 'r')

  • 上一篇:ios15.1電池算法
  • 下一篇:VC中如何實現函數調用?
  • copyright 2024編程學習大全網