Я очень новичок в matlab и python и мне нужно использовать некоторые значения в python из массива ячеек matlab.
У меня есть массив ячеек целых чисел, который после того, как я выполню эту строку кода и напечатаю результат, получаю это:
a = loadmat('file.mat')
print a
{'__version__': '1.0', '__header__': 'MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Wed Sep 21 15:30:15 2011', 'juncForward_c': array([[ [[ [[ ([[30]], **[[91], [87]]**, [[3]], [[2.2455372690184494, 3.6052402625905993, 5.5884470309828833]], [[14.0, 4.0, 15.4]], [[-1, -1, 2]], [[91, 89, 93], [88, 85, 86]], [[500, 500, 5]], [[1, 2, 3]], [[11.133333333333333]], **[[4]]**, [[1]], [[1]], [[1.0], [20.365168528421695]])]]
[[ ([[30]], **[[99], [80]]**, [[3]], [[4.0376480381611373, 2.3561944901923448, 6.0857897473297058]], [[10.0, 15.4, 16.600000000000001]], [[-1, 1, 3]], [[98, 98, 100], [79, 81, 80]], [[500, 6, 33]], [[1, 2, 3]], **[[14]]**, [[2]], [[1]], [[1]], [[2.0], [6.6573267908372973]])]]
и печать продолжается.
Может ли кто-нибудь объяснить мне, как устроен массив ячеек? (так сколько измерений выше?)
У меня тогда есть несколько вопросов:
1)
В этом массиве ячеек есть переменные «метка» и «координаты», которые назначены одному массиву / ячейке (я не знаю, какой фактический термин использовать) - значения выделены жирным шрифтом. Я хотел бы написать на Python для доступа к этим значениям. Как мне это сделать?
2)
Чтобы проверить, я попробовал это -> juncInfoF = a.get('juncForward_c')
, и когда я пытаюсь напечатать juncInfoF, он печатает «Нет». Почему это так? Я озадачен, потому что ранее, когда я попробовал это, это работает. Я мог бы даже сделать это -> print juncInfo[0][9][0][0]
. но теперь я даже не могу сделать ничего из перечисленного.