Для этого есть две очень специфические функции MATLAB: cell2struct
и struct2cell
.
Для первого преобразования вам просто нужно обратить вниманиеиспользовать правильную ось, выбрав правильный параметр dim
. Здесь у вас есть массив ячеек 2 x 1
, так что это dim = 2
.
Для второго преобразования вы можете просто использовать struct2cell
как есть.
Вот полный код:
myArray = {{ 1 2 3 4 5};
{ 7 8 9 10 11 12 13}}
myStruct = cell2struct(myArray, 'field', 2);
myStruct(1).field
myStruct(2).field
myArrayAgain = struct2cell(myStruct).'
Выходные данные выглядят так (сокращенно):
myArray =
{
[1,1] =
{
[1,1] = 1
[1,2] = 2
[...]
}
[2,1] =
{
[1,1] = 7
[1,2] = 8
[...]
}
}
ans =
{
[1,1] = 1
[1,2] = 2
[...]
}
ans =
{
[1,1] = 7
[1,2] = 8
[...]
}
myArrayAgain =
{
[1,1] =
{
[1,1] = 1
[1,2] = 2
[...]
}
[2,1] =
{
[1,1] = 7
[1,2] = 8
[...]
}
}
Надеюсь, это поможет!