How to fastly calculate this real number matrix manipulation?

4 visualizaciones (últimos 30 días)
Hancheng Zhu
Hancheng Zhu el 25 de Feb. de 2025
Editada: Matt J el 25 de Feb. de 2025
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?

Respuestas (1)

Matt J
Matt J el 25 de Feb. de 2025
Editada: Matt J el 25 de Feb. de 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]);

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos


Versión

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by