Я неопытен, когда дело доходит до Matlab, и пытался использовать Containers.map, чтобы сделать мой код проще. После некоторых проб и ошибок я смог ввести значения в свой контейнер, но изо всех сил пытаюсь найти хороший способ их получения.
Чтобы проиллюстрировать мою проблему, я поместил сокращенную версию своего кода ниже
Carbon = containers.Map({'AMod','TMod','PRat','SMod','ATS','SS','Density'}, ...
{235.2,22.1,0.3,27,3700,36,1.8},'UniformValues',false);
Carbon('Q')=[15.23 12.10 1.12; 0.15 30.05 2.08; 20.23 0.05 5.87];
AModValue = values(Carbon,{'AMod'})
QValue = values(Carbon,{'Q'})
Когда я запускаю этот код, я получаю следующие результаты:
AModValue =
1×1 cell array
{[235.2]}
QValue =
1×1 cell array
{3×3 double}
Насколько я понимаю, вся полезная информация, которую я имею, содержится в этих массивах 1x1. Есть ли хороший способ удалить эти данные из этих массивов и поместить их в соответствующие переменные для дальнейшего использования?
В этом примере я бы хотел, чтобы AModValue
был двойным, а QValue
- двойным 3х3. К сожалению, все, что я могу найти по этому вопросу, похоже, оставляет эти значения внутри массива.