How to use the function 'fit' on array of data and create an array of 'fit objects'

16 vues (au cours des 30 derniers jours)
Eric Diaz
Eric Diaz le 16 Avr 2015
Commenté : Eric Diaz le 17 Avr 2015
The 'fit' function does not seem to be friendly with arrays / matrices / variables.
for ii = 1:size(Y,2)
fitVar(ii)=fit(X,Y(:,ii),'exp1');
end
returns
Error using cfit/subsasgn (line 7)
Can't assign to an empty FIT.
while
for ii = 1:size(Y,2)
fit(X,Y(:,ii),'exp1');
end
works fine.
However, I can't do
fit(X,Y,'exp1')
if X is a dependent vector [10 x 1] which and Y is an independent matrix [10 x nSamples].
What is the solution?

Réponses (1)

Philip Caplan
Philip Caplan le 17 Avr 2015
Hi Eric - you cannot have arrays of "cfit" or "sfit" objects, which is the type returned by "fit". As such, you cannot index into this array because MATLAB thinks you are assigning (via subscripting) to an empty fit object. Instead, you can hold your "fit" objects in a cell array. The only change you need to make to your code is to use curly braces {} to index into "fitVar":
for ii = 1:size(Y,2)
fitVar{ii} = fit(X,Y(:,ii),'exp1');
end
  1 commentaire
Eric Diaz
Eric Diaz le 17 Avr 2015
Thank you for you're reply. This only partially solves the problem. Is there no way for "cfit" or "sfit" "fit" family of functions to do perform their job on matrices? Like other linear algebra matrix functions in MATLAB?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Fit Postprocessing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by