对结构数组的向量化访问
虽然我写过这个话题之前,在使用结构数组时,我不断遇到问题。所以我想我今天只关注这一点。
内容
最近的示例问题
最近有一个关于新闻组关于如何向量化结构数组中元素的访问。我还收到了一个客户关于这个话题的邮件。以下是一位客户对他的问题的描述:
简而言之,我要做的(在尽可能少的代码行中)是:
state =一个结构数组,比如N个元素,每个元素都包含(例如)x和y元素。
在我的例子中,“状态”相当复杂,因此不需要使用简单的2 x N矩阵。
N状态(i)=markovmodel(状态(i-1));% 1。访问单个结构结束
绘制(state.x) % 2。作为vector访问一个元素的所有条目。
这个问题的答案
让我们先创建一个结构数组。
(1)。X = 3;(2)。X = 4;(3)。X = 5;(1)。Y = 42;(2)。Y = 99;(3)。Y = 0;州
States = 1x3带有字段的结构数组:x y
看看states。x里有什么
states.x
Ans = 3 Ans = 4 Ans = 5
使用结构体数组,可以收集x值使用
Allxvals = [states.x]
5 . Allxvals = 3 4
这是因为states.x生成一个逗号分隔的列表。我是怎么知道的?因为,如果我去掉分号,我会看到一堆输出ans =;换句话说,我得到了多个输出值。我如何收集多个值到一个数组?我可以用方括号或花括号。
使用方括号,[],只是将该列表放入括号之间,创建一个类型为double的数组。你也可以对结构数组做同样的事情,它的字段更适合使用花括号的单元格数组,{}代替方括号。
用户的解决方案
如果不使用
上面的Plot (state.x),用户将其替换为
情节([state.x])
信息被正确地绘制出来。
评论?
我的问题是为什么这个问题一直被问到。这个概念是否异常到人们甚至不知道如何在网上查找信息?在The MathWorks,我们能做些什么来让这一点更明显呢?请告诉我你的想法在这里.
コメント
コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。