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

Antworten (2)

Torsten
Torsten am 10 Okt. 2025

0 Stimmen

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 Kommentare

Marco Sette
Marco Sette am 10 Okt. 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 am 10 Okt. 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 am 10 Okt. 2025
Bearbeitet: Torsten am 10 Okt. 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 am 10 Okt. 2025
You could help us help you by attaching the data you are using to train the fit.
Marco Sette
Marco Sette am 10 Okt. 2025
Bearbeitet: Marco Sette am 10 Okt. 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

Melden Sie sich an, um zu kommentieren.

Marco Sette
Marco Sette am 11 Okt. 2025

0 Stimmen

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

Kategorien

Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2024b

Gefragt:

am 10 Okt. 2025

Beantwortet:

am 11 Okt. 2025

Community Treasure Hunt

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

Start Hunting!

Translated by