차원 LxLxL..xL의 행렬 요소의 인덱스 [x1 x2 ... xd]를 반환 할 수 있어야합니다. 차원 수 d는 내 함수에 제공되는 변수입니다. 행렬이 존재하지 않고, 대신 길이가 L^d 인 선형 배열이 있습니다. 배열의 주어진 인덱스 i에 대해 행렬의 해당 인덱스를 알고 싶습니다. 이미 for 루프를 사용하여이 작업을 수행 할 수 있지만 ind2sub를 어떻게 든 사용할 수 있는지 궁금합니다. 내가 가진 문제는 내가하는 것입니다.가변 차원 행렬의 첨자를 반환
x=zeros(1,d)
x=ind2sub(L,i)
x는 하나의 숫자이며 모든 첨자의 배열로 재 할당됩니다. 이 일을하는 방법이 있습니까?
고마워요! 이것은 여러 차원의 변화를 포함하는 시뮬레이션의 일부입니다. – Ivan
당신은'reshape()'를 사용할 것입니다; 그것은 mxarray 헤더의 차원 메타 데이터를 왜곡시키기 때문에 값이 싸다. 기본 데이터는 그대로 메모리에 남아 있습니다. 사실, Matlab의 배열 지원은 이미이 작업을 수행하고 사용자 코드에서이를 다시 구현하면 코드가 느려질 수 있습니다. –
너무 영리합니다. 고마워요. – Frederick