MATLAB Answers

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

35 views (last 30 days)
LB on 31 Oct 2020
Answered: Juhi Singh on 5 Nov 2020
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)
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:
fitfun=fittype(@(Var) pdf_GG( Var),'independent','Var');% this is where i get the this expression has no coeffiecients or non-scalar coefficients error
Any help on how i should proceed to make this fit?Thank you very much


LB on 3 Nov 2020
@Sindar I tried but that just replies with an error: "Custom equations must produce an output vector, matrix or array that is the same size and shape as the input data.This custom equation fails to meet that requirement" How can i fix this?The equation is suposed to return PDF values
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.


Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by