Borrar filtros
Borrar filtros

for loop involving matrix with 3 indices

1 visualización (últimos 30 días)
Mingze Yin
Mingze Yin el 9 de En. de 2022
Editada: VBBV el 9 de En. de 2022
Hi,
I am trying to obtain a matrix with 3 indices (represented by m, j, n respectively) via the use of a for loop. The general idea looks something like this:
I first set up the matrix to be x=zeros(M+1,J+1,N+1), where M J N are predefined constants;
I then created a triple for loop that resembles -
for n = 2:1:N+1
for m = 2:1:M+1
for j = 2:1: J+1
x(m,j,n) = ...
end
end
end
When I tried to run the code, however, I got an error message at "x(m,j,n) = ..." that says "Index in position 3 exceeds array bounds. Index must not exceed 1." Can someone enlighten me on why this error message popped out? I was certain that x was set up properly at "x=zeros(M+1,J+1,N+1)". Thanks!
  5 comentarios
Mingze Yin
Mingze Yin el 9 de En. de 2022
hi sir, I just solved the problem. As u suspected, the issue is indeed in the RHS. Thank you for answering!
VBBV
VBBV el 9 de En. de 2022
Editada: VBBV el 9 de En. de 2022
x=zeros(M+1,J+1,N+1)
Vp1(m+1,j,n)
% ^^ problem is in this matrix

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 9 de En. de 2022
It looks like your RHS matrix is 2D and not 3D. Check your RHS matrix from which you are trying to extract elements.
A = rand(2);
A(2,2,2)
Index in position 3 exceeds array bounds. Index must not exceed 1.
  1 comentario
Mingze Yin
Mingze Yin el 9 de En. de 2022
Yes I realised the issue lies in my RHS, thank you for answering!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by