如何从Matlab container.map中获取值



我在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是一个3x3二重。不幸的是,我在这个问题上找到的任何东西似乎都将这些值留在了一个数组中。

您不必使用values来获取值:

您可以直接从地图中获取值:

AModValue = Carbon('AMod')
QValue    = Carbon('Q')

结果:

AModValue =
235.2000

QValue =
15.2300   12.1000    1.1200
0.1500   30.0500    2.0800
20.2300    0.0500    5.8700

相关内容

  • 没有找到相关文章