parameter Heligman pollard

hi all, i have data, x1=[0;1;5;10;15;20;25;30;35;40;45;50;55;60;65;70;75]; ydata=[0.00859 0.001714 0.001466 0.001308 0.00381 0.005388 0.005978 0.00673 0.009336 0.014156 0.021598 0.034274 0.05383 0.08526 0.136546 0.21604 0.329148];
with function is y=((b1.^((x+b2).^b3))+(b4.*exp(-b5.*(log(x./b6)).^2))+(b7.*(b8.^x)))/(1+((b1.^((x+b2).^b3))+(b4.*exp(-b5.*(log(x./b6)).^2))+(b7.*(b8.^x))));
and my questions is how to find parameter b1,b2....b8??

Risposte (1)

Given only 17 data points, estimation of 8 highly nonlinear parameters will be almost impossible. Sorry.
x1=[0;1;5;10;15;20;25;30;35;40;45;50;55;60;65;70;75];
ydata=[0.00859 0.001714 0.001466 0.001308 0.00381 0.005388 0.005978 0.00673 0.009336 0.014156 0.021598 0.034274 0.05383 0.08526 0.136546 0.21604 0.329148];
plot(x1,ydata,'o')
What is worse, the data varies over several orders of magnitude. And that will cause serious problems with convergence. And it looks like the first data point is in error, with a probable typo.
You will never be happy with the result. At the very least, it would be absolutely imperative to have extremely good starting values for the parameters.

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Tag

Richiesto:

il 4 Apr 2011

Risposto:

il 10 Gen 2023

Community Treasure Hunt

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

Start Hunting!

Translated by