How can I sum anonymous functions?
Afficher commentaires plus anciens
Dear all, I have a for-loop and every for-loop creates an instance of an anonymous function. In the end I would like to sum all these anonymous functions to one function, which I can then use to evaluate for different t. So far I have the following, which compiles, but gives me an error when trying Hn(0.5). Thanks for your help :)
A= rand(60,200);
X = randn(200,1);
eta = sqrt(0.03)*randn(60,1);
[u, s, v] = svd(A);
[m,~] = size(A);
xi = zeros(m,1);
nu = zeros(m,1);
alpha = zeros(m,1);
Hn = 0;
for i = 1:m
xi(i) = dot(X, v(:,i));
nu(i) = dot(eta, u(:,i));
alpha(i) = xi(i)*(s(i,i)*xi(i)+nu(i));
h = @(t) ((s(i,i)*nu(i)*inv(xi(i))+1)*t-1)/(1-(1-s(i,i)^2)*t)^3;
Hn = @(t) Hn(t)+s(i,i)*alpha(i)*h(t);
end
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!