How to use an anonymous function in a ''for''?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Migue Balma
le 15 Oct 2020
Commenté : Steven Lord
le 15 Oct 2020
Hi everyone!!
I'm trying to write a general solution for a differential equation using a moment method (Galerkin, with polynomials as base functions). When I try to write the general solution por N polynomials, the anonymous function that I'm using, it doesnt update with every loop. I write my code:
N = 10; %number of elements;
l = zeros([N,N]);
g = zeros(N,1);
A = zeros (N,1);
f = @(x) 0;
for i=1:N
for k = 1:N;
l(i,k) = i*k/(i+k+1);
g(k,1) = (k*(8+3*k))/(2*(2+k)*(4+k));
A = linsolve(l,g);
f = @(x) f(x) + A(i,1)*(x - x.^(i+1));
end
end
Thanks!!
3 commentaires
Steven Lord
le 15 Oct 2020
Use the sum function and element-wise operations inside the anonymous function.
Réponse acceptée
Asad (Mehrzad) Khoddam
le 15 Oct 2020
if you don't need to use it inside loop. you can define f(x) after for loop:
N = 10; %number of elements;
l = zeros([N,N]);
g = zeros(N,1);
A = zeros (N,1);
for i=1:N
for k = 1:N;
l(i,k) = i*k/(i+k+1);
g(k,1) = (k*(8+3*k))/(2*(2+k)*(4+k));
A = linsolve(l,g);
f = @(x) f(x) + A(i,1)*(x - x.^(i+1));
end
end
f = @(x) sum(A'.*(x-x.^(2:N+1)));
1 commentaire
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!