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

34 visualizaciones (últimos 30 días)
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 comentarios
LB
LB el 3 de Nov. de 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
Sindar el 4 de Nov. de 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

Iniciar sesión para comentar.

Respuesta aceptada

Juhi Singh
Juhi Singh el 5 de Nov. de 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.

Más respuestas (0)

Categorías

Más información sobre Fit Postprocessing en Help Center y File Exchange.

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by