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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

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 Kommentare

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?
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 am 27 Jul. 2023
Bearbeitet: Fangjun Jiang am 27 Jul. 2023
add this line before doing the transpose. You will see it removes the two dimensions of length 1.
featvales=squeeze(featvales);
size(featvales)
Then you should be able to do featvales'
Meetul Choudhary
Meetul Choudhary am 28 Jul. 2023
Bearbeitet: Meetul Choudhary am 28 Jul. 2023
can you connect to me personally @mahimitulmahi1@gmail.com

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

James Tursa
James Tursa am 26 Jul. 2023
Bearbeitet: James Tursa am 26 Jul. 2023

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by