How to fastly calculate this real number matrix manipulation?

4 visualizzazioni (ultimi 30 giorni)
I have a matrix X with dimensional . I want to calculate a matrix M with the same dimension as X. The element of M is calculated as follows
, where . In this equation, is the element of the matrix M and represents the product of a bunch of factors.
I know using for loop by extracting the element of X can obtain this matrix M but it is not efficient. Is there any other way to fastly calculate this matrix from X?

Risposte (1)

Matt J
Matt J il 25 Feb 2025
Modificato: Matt J il 25 Feb 2025
e=(1:A)';
I=reshape(e,1,1,[]) == repmat( e,1,B);
Xp=permute(X,[3,2,1]);
D=X./(X-Xp);
D(I)=1;
M = ipermute( prod(D,1) ,[3,2,1]);

Prodotti


Release

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by