Reshape error when converting 2D to 3D data

I want to convert 2D data to 3D.
Currently I use :
ij=0;
for ix=1:200:size(data1,1)
ij=ij+1;
data(ij,:,:)=data1(ix:ix+199,:);
end
However it is very slow. I try the following code then:
permute(reshape(data1, 200, 8578, 200), [1 3 2]);
But, I get the following error:
Error using reshape
To RESHAPE the number of elements must not change.
Size of data1 is 1751600x200.
Thank you for help.

2 件のコメント

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 11 月 16 日
what is the size of the variable called: data1?
It looks like you have a sizing problem while converting your 2D variable into 3D one.
edward kabanyas
edward kabanyas 2020 年 11 月 16 日
Size of data1 is 1751600x200

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 11 月 16 日

0 投票

xxx78*2 is going to end in 56 not in 16. The size should be 8758 not 8578

1 件のコメント

edward kabanyas
edward kabanyas 2020 年 11 月 16 日
yes, you are correct, the size should be 8758 not 8578

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeData Import and Analysis についてさらに検索

質問済み:

2020 年 11 月 16 日

コメント済み:

2020 年 11 月 16 日

Community Treasure Hunt

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

Start Hunting!

Translated by