Non sono sicuro di aver compreso il problema, ma se vuoi "mettere in forma letterale" i numeri
-6.9397
0.8084
8.6173e-05
ecc.
la cosa più semplice che puoi fare è definirli come parametri aggiuntivi di input alla funzione.
Nello script nel quale invochi la funzione potresti scrivere (trova i "nomi giusti" per le variabili - nell'esempio ho inserito solo i primi tre)
par_1=-6.9397
par_2=0.8084
par_3=8.6173e-05
ecc.
A = coffin_coefficient(X,Y,par_1, par_2, par_3, ...)
e nella funzione:
function A = coffin_coefficient(X,Y,par_1,par_2,par_3, ...)
[xData, yData] = prepareCurveData( X, Y );
ft = fittype( 'A*x^(par_1)*exp(par_2/((par_3)*(120+273.15)))', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Algorithm = 'Levenberg-Marquardt';
opts.Display = 'Off';
opts.StartPoint = 0.1;
Per evitare di avere una lista troppo lunga di parametri, potresti definire una "struct" che contenga i parametri:
par_struct.par_1=-6.9397
par_struct.par_2=0.8084
par_struct.par_3=8.6173e-05
function A = coffin_coefficient(X,Y,par_struct)
e nella definizione della funzione:
function A = coffin_coefficient(X,Y,par_struct)
[xData, yData] = prepareCurveData( X, Y );
ft = fittype( 'A*x^(par_struct.par_1)*exp(par_struct.par_2/((par_struct.par_3)*(120+273.15)))', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Algorithm = 'Levenberg-Marquardt';
opts.Display = 'Off';
opts.StartPoint = 0.1;