MATLAB Answers

Fitting Model : This expression has no coefficients or non-scalar coefficients

55 views (last 30 days)
LB
LB on 31 Oct 2020
Answered: Juhi Singh on 5 Nov 2020
Hi,
Im trying to fit a model i've made to some experimental data, however I'm getting an error i don't seem to understand.
I followed the fittype guide.
Heres my code:
%This is the model
function pdf = pdf_GG(Var)
I=0.3;
LKK = sqrt(Var);
alpha = (exp((5.19.*LKK.^2)./((1 + 9.01.*LKK.^(12/5)).^(7/6))) -1).^-1;
beta = (exp((6.22.*LKK.^2)./((1 + 22.39.*LKK.^(12/5)).^(5/6))) -1).^-1;
k = (alpha+beta)./2;
k1 = alpha.*beta;
H =4.*(k1.^k)./(gamma(alpha).*gamma(beta));
H1 = I.^(k-1);
D = 6.*sqrt(k1.*I);
pdf = H.*H1.*besselk((alpha-beta),D);
And now my main code:
%Fitting
x0=[0.2];
fitfun=fittype(@(Var) pdf_GG( Var),'independent','Var');% this is where i get the this expression has no coeffiecients or non-scalar coefficients error
[fitted_curve,gof]=fit(ctrs',pn',fitfun,'StartPoint',x0);
Any help on how i should proceed to make this fit?Thank you very much
  3 Comments
Sindar
Sindar on 4 Nov 2020
Does this return a 2-element array? (and do you expect it to?)
pdf_GG([0 1])
If not, add a breakpoint at the last line and check the sizes of all the intermediate variables

Sign in to comment.

Accepted Answer

Juhi Singh
Juhi Singh on 5 Nov 2020
The error is being encountered because pdf_GG() returns a vector. Unfortunately, specifying the coefficients as vector is not supported. There is no workaround.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!