Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Multstart stuck at initial point

조회 수: 1 (최근 30일)
Sushant  Kumar
Sushant Kumar 2013년 5월 31일
마감: MATLAB Answer Bot 2021년 8월 20일
hi, i am using multstart to fit a sinusoid of unknown amplitude, frequency and phase(in this case vector f) with a noisy sinusoid(vector R). Here is what my objective function looks like...
function r5= myfunction5(N) global F1; F1 = 1001000; r = zeros(10000,1); f = zeros(10000,1); N = zeros(3,1);
for p = 1:10000
r(p,1) = 5 * sin(2*pi*F1*(p/(10000000))+0.3);
end
R = r + 0.1*randn(10000,1);
for q1 = 1:10000
f(q1,1) = N(1) * sin((2*pi*N(2)*(q1/10000000)) + N(3));
end
r5 = @(N)(R-f);
end
myfunction5 takes a vector input N and gives a vector output (R-f) of 1000*1 which i need to minimize. Here is how i called the objective function with a local solver lsqnonlin...
format long opts = optimset('Algorithm','trust-region-reflective','Display','iter','TolFun',1e-12,'TolX',1e-10);
problem = createOptimProblem('lsqnonlin','x0',[5;993000;0.1],'objective',myfunction5,'lb',[4.8 989000 0.2],'ub',[5.2 1011000 0.4],...
'options',opts);
ms = MultiStart;
[N,fval,exitflag,output,solutions] = run(ms,problem,49);
it keeps on displaying whatever starting point i pass in the problem structure as the optimal point output independent of watever F1 is chosen in myfunction5.
i am particularly interested in N(2) which should come out to be equal to F1. Changing the initial point displays the same initial point being used everytime in the code as the optimal point. Plz help!

답변 (0개)

이 질문은 마감되었습니다.

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by