Non Linear regression
Afficher commentaires plus anciens
% name: myfun.m file
function yhat = myfun(beta,X)
b1 = beta(1); %(Feight multiplier)
b2 = beta(2); %(Freight rate multiplier)
e = X(1); %(Economic growth)
p = X(2); %(Previous year freight)
r = X(3); %(Real freight rate change)
yhat = p*(1.0+(e*b1))*(1.0+(r*b2));
inputs are
x=(11,3) Matrix
y= (11,1) Matrix
beta0 = rand(11,2) Matrix
when i run the script i get the following;
beta = nlinfit(X,y,'myfun',beta0)
??? Error using ==> nlinfit at 127
MODELFUN should return a vector of fitted values the same length as Y.
I dont understand what the error is can someone please help.
Thanks in advance
Réponse acceptée
Plus de réponses (1)
bym
le 13 Oct 2011
try changing these lines:
e = X(1); %(Economic growth)
p = X(2); %(Previous year freight)
r = X(3); %(Real freight rate change)
to
e = X(:,1); %(Economic growth)
p = X(:,2); %(Previous year freight)
r = X(:,3); %(Real freight rate change)
(untested)
Catégories
En savoir plus sur Get Started with MATLAB dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!