У меня есть цикл в MATLAB, который заполняет массив ячеек в моей рабочей области (2011b, Windows 7, 64 бит) со следующими данными:
my_array =
[1x219 uint16]
[ 138]
[1x0 uint16] <---- row #3
[1x2 uint16]
[1x0 uint16]
[] <---- row #6
[ 210]
[1x7 uint16]
[1x0 uint16]
[1x4 uint16]
[1x0 uint16]
[ 280]
[]
[]
[ 293]
[ 295]
[1x2 uint16]
[ 298]
[1x0 uint16]
[1x8 uint16]
[1x5 uint16]
Обратите внимание, что некоторые записи имеют []
, как в строке #6
, в то время как другие содержат элементы [1x0]
, как в строке #3
.
- Существует ли любая разница между ними? (кроме того, что MATLAB отображает их по-разному). Любые различия в том, как MATLAB представляет их в памяти?
- Если разница заключается только в том, как MATLAB их внутренне представляет, почему программист должен знать эту разницу? (т.е. почему они отображаются по-разному?). Это (безобидная) ошибка? или существует какое-либо преимущество, зная, что такие массивы представлены по-разному?