2013-04-08 3 views
0

У меня есть определенный спектр спектра мощности, сохраненный как test, в зависимости от частотной матрицы f.fit curve с lsqcurvefit

спектр Этой силы обычно выглядит как на рисунке ниже enter image description here

Следует заметить, что приведенная выше stemms спектра мощности от моделируемых временных рядов.

То, что я хочу сделать, в принципе, чтобы соответствовать кривой, приближающейся к моделируемой спектра мощности, как показано ниже:

enter image description here

Я знаю, что теоретический спектр мощности может быть определена следующим образом:

function ps_theo = ps_th(L,Uhub,f) 

const = L/Uhub; 
f_x = 6.*f.*(L/Uhub); 
exp = 5/3; 
ps_theo = (4*const)./((1 + f_x).^exp); 

end 

, где L является постоянный масштаб длины, Uhub, постоянную скорость и частота f вектор.

Вопрос: Я не знаю значения «L», поэтому я думал о оптимизированном нелинейном разрешении с использованием lsqcurvefit.

я проводимый следующим образом:

xdata = f; 
ydata = test; 
Uhub = 10; 

fit_func = @(L) ps_th(L,Uhub,f); 

L_opt = lsqcurvefit(@fit_func,330.2,xdata,ydata) 

, который извлекает Сообщи ошибки на количестве входов переменных для функции fit_func.

Не могли бы вы пролить свет?

+0

Прочитайте справку lsqcurvefit. Посмотрите на примеры. Как он передает аргументы вашей функции? Как оптимизировать, когда имеется более одной переменной? ДУМАТЬ! – 2013-04-08 13:09:28

ответ

1

Эта функция может принимать только два аргумента. Вы можете переписать ps_th так:

function ps_theo = ps_th(x0,f) 
L = x0(1); 
Uhub = x0(2); 

const = L/Uhub; 
f_x = 6.*f.*(L/Uhub); 
exp = 5/3; 
ps_theo = (4*const)./((1 + f_x).^exp); 

end 

Затем вызовите lsqcurvefit с чем-то вроде этого:

x0Start = [330.2,10]; % vector of initial parameters 
x0_opt = lsqcurvefit(@ps_th,x0Start,xdata,ydata); 
+0

Я уже делал это, но потом также «Uhub» меняется; предполагается, что только 'L' будет меняться. – fpe

+0

Тогда не делайте Uhub входным аргументом ps_th. – Molly

+0

Помимо изменчивости «Uhub» (что нежелательно), окончательная подгонка действительно бедна. – fpe

Смежные вопросы