Curve fitting with a custom equation

Hi all,
I'm trying to fit a custom equation but it seems I wrote not in the correct way or somethinkg similar (I'm quite new to Matlab)...
The equation is
u+(f-u)/(1+exp((-H/1.9872)*(1/x-1/m)+(C/1.9872)*[((m/x)-1)+log(x/m)]))
and the error message claims
Fit Name: untitled fit 1
Error: Expression u+(f-u)/(1+exp((-H/1.9872)*(1/x-1/m)+(C/1.9872)*[((m/.x)-1)+log(x/m)])) is not a valid MATLAB expression, has non-scalar coefficients, or cannot be evaluated:
Error in fittype expression ==> u+(f-u)./(1+exp((-H./1.9872).*(1./x-1./m)+(C./1.9872).*[((m./.x)-1)+log(x./m)]))
??? Invalid use of operator.
Do you have suggestions?
Thanks
Marco

Réponses (2)

Torsten
Torsten le 10 Oct 2025

0 votes

Only round brackets are allowed in your expression. But maybe there are additional problems.
If the code does not work after replacing [ ] by ( ), you should post your MATLAB code for inspection.

6 commentaires

Marco Sette
Marco Sette le 10 Oct 2025
Thanks for your suggestion. It does not work after replacing [] with ().
I have no code, I simply used
Curve fitter app
Fit type : Custom equation
Wrote the equation in the upper right panel, after importing the data
Torsten
Torsten le 10 Oct 2025
Follow the instructions given here:
Especially:
  1. On the Curve Fitter tab, in the Export section, click Export and select Generate Code.The Curve Fitter app generates code from your session and displays the file in the MATLAB Editor. The file includes the currently selected fit in your session and its opened plots. The file captures the following information:
  • Name of the fit and its variables
  • Fit settings and options
  • Plots
  • Curve or surface fitting object and the function used to create the fit:
  • cfit or sfit object representing the fit
  • A structure with goodness-of-fit information
2. Save the file.
Torsten
Torsten le 10 Oct 2025
Modifié(e) : Torsten le 10 Oct 2025
Another possible problem could be that x=0 is a data point and you divide by 0 in 1/x or that x/m becomes negative in log(x/m).
Image Analyst
Image Analyst le 10 Oct 2025
You could help us help you by attaching the data you are using to train the fit.
Marco Sette
Marco Sette le 10 Oct 2025
Modifié(e) : Marco Sette le 10 Oct 2025
Hi Torsten,
x values range from 293 to 363 K.
I will check tomorrow the procedure you suggest.
Many thanks
Marco
In your fittype expression, there is another error:
m/.x
should be replaced by
m./x
or at least
m/x

Connectez-vous pour commenter.

Marco Sette
Marco Sette le 11 Oct 2025

0 votes

Hi all,
it seems to work now. I've simply rewritten the equation without differences...
The script is attached.
The results are similar to the published ones (this is a test similar to literature).
I need to adjust some parameters but it seems I'm on the right way..
Thanks a lot for your kind help, it was very useful :)
Best
Marco

Catégories

En savoir plus sur Linear and Nonlinear Regression dans Centre d'aide et File Exchange

Produits

Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by