error using tranpose (recieving permute error )

CODE:
%% Testing Phase
load('testFeatures');
featvales=b2{1};
label=b2{2};
num_dims = max(size(featvales));
X=featvales';
Y=label';
PROBLEM:
I have to calculate the average for 2 different dimension
1st for 10 dimensional function
2nd for 30 dimensional function
ERROR :(the following error is recieved while executing the code)
Error using '
Transpose on ND array is not defined. Use PERMUTE instead.
Error in FeatureSelection (line 28)
X=featvales';

2 comentarios

num_dims = max(size(featvales));
That is incorrect.
num_dims = ndims(featvales);
still getting the same error

Iniciar sesión para comentar.

 Respuesta aceptada

The error message is clear. How do you transpose a three (or more) dimension array?
a=rand(2,3);
a';
a=rand(2,3,4);
a';
Error using '
TRANSPOSE does not support N-D arrays. Use PAGETRANSPOSE/PAGECTRANSPOSE to transpose pages or PERMUTE to reorder dimensions of N-D arrays.

7 comentarios

Error using '
Transpose on ND array is not defined. Use PERMUTE instead.
Error in FeatureSelection (line 29)
X';
I'm still getting this error. Is there a way we can connect and discuss this code?
Fangjun Jiang
Fangjun Jiang el 26 de Jul. de 2023
What is the return value of size(X)?
Your array "X" must be a multi-dimenstion array. In that case, you can't do transpose(X).
Fangjun Jiang
Fangjun Jiang el 27 de Jul. de 2023
Editada: Fangjun Jiang el 27 de Jul. de 2023
add this line before doing the transpose. You will see it removes the two dimensions of length 1.
featvales=squeeze(featvales);
size(featvales)
Fangjun Jiang
Fangjun Jiang el 27 de Jul. de 2023
Then you should be able to do featvales'
Meetul Choudhary
Meetul Choudhary el 28 de Jul. de 2023
Editada: Meetul Choudhary el 28 de Jul. de 2023
can you connect to me personally @mahimitulmahi1@gmail.com

Iniciar sesión para comentar.

Más respuestas (1)

James Tursa
James Tursa el 26 de Jul. de 2023
Editada: James Tursa el 26 de Jul. de 2023
If you are trying to transpose the initial 2D pages of your variable, you can do this:
pagetranspose(featvales)
Or this:
d = 1:ndims(featvales)
permute(featvales,[2,1,d(3:end)])
But it isn't clear if this will fix your underlying problem.

2 comentarios

what exactly does this output gives as output?
it is showing a value for (:, :, 1, 704) to (:, :, 1000, 704)
I am working on feature selection where im facing this issue in a part of code

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB Coder en Centro de ayuda y File Exchange.

Productos

Versión

R2018a

Preguntada:

el 26 de Jul. de 2023

Editada:

el 28 de Jul. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by