der add-on Funktion erzeugt nachfolgende Fehler. Wie lässt sich das Problem lösen?

f=fittype("lorentzfit")
Error using fittype>iCreateFromLibrary
Library function lorentzfit not found.
Error in fittype>iCreateFittype (line 345)
obj = iCreateFromLibrary( obj, varargin{:} );
Error in fittype (line 330)
obj = iCreateFittype( obj, varargin{:} );

4 Comments

There is no built-in library named 'lorentzfit' available for fittype, see here for the available models - https://in.mathworks.com/help/curvefit/list-of-library-models-for-curve-and-surface-fitting.html#btbcvnl
Could you specify what you are trying to do? What is the objective?
Erklär mal, was du machen willst. Es gibt keine solche Methode drin MATLAB.
Lorentzfit.m ist ganz offiziell als MATLAB-add on runterzuladen und zu installieren. Der Fit läuft auch, wenn man die Funktion
y=lorentzfit(x,y)
aufruft. Allerdings kann ma n sich so nicht die berechneten Koeffizienten ansehen, weil der beschrieben Fehler auftaucht, wenn man z.B.
ft=fitteype('lorentzfit') aufruft, was wohl nötig ist, um an die Koeffizienten zu kommen

Sign in to comment.

Answers (1)

Hi Thomas,
Da ich kein deutscher Muttersprachler bin, versuche ich, diese Frage auf Englisch zu beantworten. Danke für Ihr Verständnis.
I understand that you wish to extract the calculated coefficients from the “lorentzfit” of your data.
The inbuild MATLAB “fittype” function doesn’t support “lorentzfit”. I'm assuming that you might be using the “lorentzfit” function from the MATLAB File Exchange. If that's not the case, I would suggest considering its use, as it conveniently supports variable outputs, including yprime, params, resnorm, residual and jacobian. Specifically, the “params” output contains the calculated coefficients, which you can access as shown in the sample code below:
% Your data vectors x and y
x = -16:0.1:35;
y = 19.4./((x - 7).^2 + 15.8) + randn(size(x))./10;
% Call the lorentzfit function
[yprime, params, resnorm, residual] = lorentzfit(x, y);
% Access the coefficients from the params variable
a = params(1);
b = params(2);
c = params(3);
d = params(4);
The “params” variable conveniently contains the coefficients [a, b, c, d] of the Lorentzian fit, which you can then use for further analysis or reporting.
I hope this helps you with your project. Feel free to reach out for further clarifications.

1 Comment

Thank you for your help. I am not so experienced in Matlab tools but now it works sufficiently.

Sign in to comment.

Asked:

on 4 Jan 2024

Commented:

on 11 Jan 2024

Community Treasure Hunt

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

Start Hunting!