Non Linear regression
Mostra commenti meno recenti
% 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
Risposta accettata
Più risposte (1)
bym
il 13 Ott 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)
Categorie
Scopri di più su Get Started with MATLAB in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!