change matlab linear index to numpy.
4 views (last 30 days)
Show older comments
I have a three-dimensional matrix X with dimensions 16 x 10 x 1200. The original program used
for i = 3876:10000
My(:,:,i) = X(:,i)*X(:,i)';
end
Obviously, this program uses linear indexing in Matlab. I have read the relevant documentation for Matlab and NumPy, but I still do not know how to convert it to the corresponding operation in NumPy. Can anyone help me? Thank you very much.
0 Comments
Answers (1)
Kautuk Raj
on 3 Jun 2023
This can be the equivalent NumPy code for the given MATLAB code:
import numpy as np
X = np.random.rand(16, 10, 1200)
My = np.zeros((16, 16, 10000-3876+1))
for i in range(3876, 10001):
My[:, :, i-3876] = np.outer(X[:, i-1], X[:, i-1])
Note that we use i-1 as the index for X since Python uses 0-based indexing.
0 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!