How to use fit matrix array

A=csvread('spotlightmtfx.txt');
h=A(:,1);
j=A(:,2);
f=fit(h, j,'gauss2')
%Coefficients
a1=1.47 %(1.426, 1.515)
b1=897.7 %(897,898.3)
c1=27.08 %(26.08 27.08)
a2=0.6994 %(0.6821, 0.7167)
b2=810.8 %(790, 831.7)
c2=592.9 %(501, 685.7)
%f=
%General model Gauss2:
f(h)=a1*exp(-((h-b1)/c1).^2)+a2*exp(-((h-b2)/c2).^2)
plot(f,h,j)
This is my code and it is not work."Cannot use cellarray brackets or parens to assign to FIT." What I have to do? Please help me. :)

2 Kommentare

KSSV
KSSV am 27 Okt. 2017
With out data, we cannot help you..attach the file....error is due to you are sending wrong class inside the fit function.
Birdman
Birdman am 27 Okt. 2017
Are you trying just to plot the f model and compare the results?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

KSSV
KSSV am 27 Okt. 2017
Bearbeitet: KSSV am 27 Okt. 2017

0 Stimmen

This line:
f(h)=a1*exp(-((h-b1)/c1).^2)+a2*exp(-((h-b2)/c2).^2)
is not correct...it should be
f = a1*exp(-((h-b1)/c1).^2)+a2*exp(-((h-b2)/c2).^2)
Below code shall work:
A=load('spotlightmtfx.txt');
h=A(:,1);
j=A(:,2);
f=fit(h, j,'gauss2')
%Coefficients
a1=1.47 %(1.426, 1.515)
b1=897.7 %(897,898.3)
c1=27.08 %(26.08 27.08)
a2=0.6994 %(0.6821, 0.7167)
b2=810.8 %(790, 831.7)
c2=592.9 %(501, 685.7)
%f=
%General model Gauss2:
f=a1*exp(-((h-b1)/c1).^2)+a2*exp(-((h-b2)/c2).^2)
plot3(f,h,j)

Weitere Antworten (0)

Kategorien

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

Gefragt:

am 27 Okt. 2017

Erneut geöffnet:

am 18 Jul. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by