Pour une utilisation dans le moins routine d'ajustement carré lsqcurvefit
, je besoin d'une fonction en termes d'une représentation de la série comme:Matlab - créer fonction anonyme récursive
F = @(D, t) F0 - D(1)*(1-exp(-t))...
- D(2)*(1-exp(-t))...
- D(3)*(1-exp(-t))...
...
- D(n)*(1-exp(-t));
Toutefois, le montant des termes de la série est d'être déterminé par l'utilisateur; de sorte que la fonction anonyme F doit être créé dans une boucle, comme
F = @(D, t) F0;
for i=1:n
F = F - D(i)*(1-exp(-t));
end
Malheureusement, la méthode ci-dessus ne fonctionne pas dans les Matlab; Y at-il une possibilité de le faire fonctionner?
Pourquoi vous voulez en faire une fonction anonyme? – Bernhard
Je dois l'utiliser pour la fonction 'lsqcurvefit'; par conséquent, il doit être une fonction anonyme – UlrichH
À moins que je ne comprenne mal quelque chose, selon la documentation, cela devrait fonctionner correctement avec un fichier de fonction normal: https://ch.mathworks.com/help/optim/ug/lsqcurvefit.html# inputarg_fun –