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

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

댓글을 달려면 로그인하십시오.

 채택된 답변

Fangjun Jiang
Fangjun Jiang 2023년 7월 26일
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

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 2023년 7월 27일
편집: Fangjun Jiang 2023년 7월 27일
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 2023년 7월 28일
편집: Meetul Choudhary 2023년 7월 28일
can you connect to me personally @mahimitulmahi1@gmail.com

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

James Tursa
James Tursa 2023년 7월 26일
편집: James Tursa 2023년 7월 26일

0 개 추천

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

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

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 MATLAB Coder에 대해 자세히 알아보기

제품

릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by