N-dimensional arrays are not supported.
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
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
Más respuestas (1)
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))]
Ver también
Categorías
Más información sobre Matrix Indexing 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!