How do I create this in MATLAB?
formula.png

2 comentarios

James Tursa
James Tursa el 22 de Ag. de 2019
What have you done so far? What specific problems are you having with your code? Do you know how to write a for-loop, or use the sum( ) function, or use the diff( ) function, or use the .* operator?
John Allen
John Allen el 22 de Ag. de 2019
Yes, I know all of those, just never did it like this, so totally confused how to structure this one.

Iniciar sesión para comentar.

 Respuesta aceptada

James Tursa
James Tursa el 23 de Ag. de 2019
Editada: James Tursa el 23 de Ag. de 2019

0 votos

Take the denominator for instance. Literally written out, this would be
denominator = 0;
for k=1:K
denominator = denominator + B(k,j)^2;
end
Or, assuming the first dimension of B is K, then you could use the sum( ) function:
denominator = sum(B(:,j).^2);
You can construct similar code for the numerator.
Probably best if you code everything up using for-loops just to get something running that works. Then you can simplify things with the sum( ) and diff( ) functions. It is possible to do the entire operation to construct ds without loops.

4 comentarios

John Allen
John Allen el 23 de Ag. de 2019
In my application, it is NMF based operation, so the matrix is K x T and I have J components, let's say 20 of them, and then after I apply NMF, I will get B = K x J and G = J x T.
This summation happens after I get B. So, wouldn't I need a nested 2d loop to go over both K and J ?
I understand your code, but I am trying to understand this in my head.
James Tursa
James Tursa el 23 de Ag. de 2019
Editada: James Tursa el 23 de Ag. de 2019
"So, wouldn't I need a nested 2d loop to go over both K and J ?"
Yes. The code I had written above was only for the denominator part of the j'th element of ds.
I would still suggest you write out the looping code first to get some correct code running. Then you can worry about simplifying it using sum( ) and diff( ) etc.
John Allen
John Allen el 23 de Ag. de 2019
OK, thank you very much, I think I get it now, I marked answer as accepted.
Thanks again! :)
James Tursa
James Tursa el 23 de Ag. de 2019
If you have trouble, don't hesitate to post your current code and the problems you are having and we can still help you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 22 de Ag. de 2019

Comentada:

el 23 de Ag. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by