MATLAB user defined function file as fittype -


i have function saved 'calculateresults.m' in function 'ode45' nested:

function y = calculateresults (concv, ksv, xtrace) options = odeset('nonnegative', [1:size(concv,2)], 'reltol', 1e-6, 'abstol', 1e-12); [x,y] = ode45(@(t, cy)odeset(t, cy, ksv), xtrace, concv, options); 

i use function fittype:

ft = fittype('calculateresults( concv, ksv, x )','independent',{'x'}); 

but doing causes error:

error using fittype/testcustommodelevaluation (line 12) expression calculateresults( concv, ksv, x ) not valid matlab expression, has non-scalar coefficients, or cannot evaluated: error in fittype expression ==> calculateresults( concv, ksv, x ) ??? index exceeds matrix dimensions.

my aim vary values of 'concv' in order fit function 'calculateresults.m' data (x , y):

mdl = fit( x, y, ft); 

and return values of concv best fit data:

concvcalc = mdl.coefficients.estimate;  

please help! thank you!

solved giving coefficients individual variables rather array:

  ft = fittype('calculateresultsforfit(x,concv1,concv2,concv3,concv4,concv5,concv6,concv7,concv8,concv9,concv10,concv11,concv12,concv13,concv14,concv15,concv16,concv17,concv18,concv19,concv20)');      mdl = fit( x', ytofit', ft,'startpoint',[concv1,concv2,concv3,concv4,concv5,concv6,concv7,concv8,concv9,concv10,concv11,concv12,concv13,concv14,concv15,concv16,concv17,concv18,concv19,concv20],'lower',zeros(1,20)); 

variable ksv defined inside function being fitted.


Comments