Borrar filtros
Borrar filtros

N-dimensional arrays are not supported.

6 visualizaciones (últimos 30 días)
hamed
hamed el 5 de Ag. de 2016
Comentada: Star Strider el 6 de Ag. de 2016
Hello All
I have a 3d matrix as below:
[l,r,h3]=size(H)
When I want to write eye(), as follows, I get an error.
Aeq=[H1 -eye(l)]
The error is:
N-dimensional arrays are not supported.
How can I solve it?
thanks

Respuesta aceptada

Star Strider
Star Strider el 6 de Ag. de 2016
I have no idea what you’re doing or what result you want, or what ‘H’ or ‘H1’ are.
This runs without error:
H = randi(9,2,2,4); % Create ‘H’
[l,r,h3]=size(H);
H1 = H; % Assume ‘H1’ = ‘H’
Aeq=[H1 -repmat(eye(l), 1, 1, h3)] % Desired Result?
Perhaps some variation on this will work for you if this does not.
  2 comentarios
hamed
hamed el 6 de Ag. de 2016
Thanks a lot. It did work!
Star Strider
Star Strider el 6 de Ag. de 2016
My pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

Konark Kelaiya
Konark Kelaiya el 6 de Ag. de 2016
Your H1 or H whatever the variable is 3D matrix however when you get the size of H with [I,r,h3] it will return matrix size values e.g if H is of 2x3x2 matrix then using size(H) returns value as I = 2,r =3 and h3 = 2.
Now when you use eye(I) , it will create identity matrix of 2x2 and not 3 dimensional , hence it wont work
you need to use
[H1 - eye([I r h3])]
or [H1 - eye(size(H))]
  1 comentario
hamed
hamed el 6 de Ag. de 2016
Hello
Thanks for your help.
I tried that code, but it didn't word! The same error appeared again.

Iniciar sesión para comentar.

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by