change matlab linear index to numpy.

조회 수: 5 (최근 30일)
Sure
Sure 2023년 6월 3일
답변: Kautuk Raj 2023년 6월 3일
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.

답변 (1개)

Kautuk Raj
Kautuk Raj 2023년 6월 3일
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.

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by