Borrar filtros
Borrar filtros

how can i sum over to variable in matlab?

32 visualizaciones (últimos 30 días)
Joseph
Joseph el 19 de En. de 2017
Editada: Guillaume el 19 de En. de 2017
Hi, i have a function as below in a for loop:
for i=1:20
end;
i'm trying to sum over variables N,N', as simple as it looks, it confused me? can any one help?
thanyou so much in advance
  4 comentarios
Stephen23
Stephen23 el 19 de En. de 2017
@Joseph: and what have you written so far?
Guillaume
Guillaume el 19 de En. de 2017
And can these function operate on matrices, or do they only accept scalars?

Iniciar sesión para comentar.

Respuestas (2)

Jorge Mario Guerra González
Jorge Mario Guerra González el 19 de En. de 2017
Editada: Jorge Mario Guerra González el 19 de En. de 2017
you mean something like this....
I'm supposing F,K,G are random arrays,
are N and N' independent values??? because the notation N, N' is a little tricky for me.
F=rand(20,20);
G=rand(1,20);
K=rand(1,20);
suma=0;
for i=1:20
for j=1:20
suma=suma+F(i,j)*G(i)*K(j);
end
end
disp(suma);
%where i and j are your N and N'
  5 comentarios
Jorge Mario Guerra González
Jorge Mario Guerra González el 19 de En. de 2017
@Joseph you should've specified that N=N'-1 in the question. So, since N=N'-1 the range of N is 0:19?. why does the equation you posted say N=1:20.
Joseph
Joseph el 19 de En. de 2017
i apologize. corrected it.

Iniciar sesión para comentar.


Guillaume
Guillaume el 19 de En. de 2017
Editada: Guillaume el 19 de En. de 2017
Without any a priori knowledge of F, G, K, this is guaranteed to work:
[NN1, NN2] = ndgrid(0:19, 1:20); %all combinations of N and N'
FN = arrayfun(@F, NN1, NN2);
GN = arrayfun(@G, NN1);
KN = arrayfun(@K, NN2);
result = sum(sum(FN .* GN .* KN)); %or sum(FN(:) .* GN(:) .* KN(:)) which is probably faster but more cryptic.
If the F, G, K functions support implicit expansion or can work directly with vectors and matrices then the arrayfun lines would not even be needed.

Categorías

Más información sobre Quantum Mechanics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by