Whats the difference between the two statements

回答(2 个)

Explained here (with an example).
"Specify [] for the first dimension to let reshape automatically calculate the appropriate number of rows."
If you specify [] in the second dimention, it will automatically determine the appropriate number of columns for the specified number of rows.

1 个评论

Ah, missed the transpose (the apostrophe) after the first one. That transposes the results of reshape. It's probably just easiest to test it and see:
key = magic(4);
reshape(key,2,[])'
ans = 8×2
16 5 9 4 2 11 7 14 3 10 6 15 13 8 12 1
reshape(key,2,[])
ans = 2×8
16 9 2 7 3 6 13 12 5 4 11 14 10 15 8 1
Another way is to just swap the 2 and the [].
reshape(key,[],2)
ans = 8×2
16 3 5 10 9 6 4 15 2 13 11 8 7 12 14 1

请先登录,再进行评论。

The second creates 2-row matrix.
The first creates 2-column matrix, since it make a transpose after reshape.

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by