罗兰在MATLAB的艺术

把想法变成MATLAB

请注意

罗兰在MATLAB的艺术已经存档,不会被更新。

结构初始化

这篇文章的主题仍在最近其他的问题经常对我可能(和其他人)。这与初始化结构。有一个健康的的帖子在MATLAB新闻组致力于这一主题。今天我们皮的东西分开。

内容

结构——心智模型

它首先有助于了解MATLAB对结构和他们的田地。第一个明确工作区。

清晰的变量关闭所有

让我们开始一个标量结构。

mystruct。FirstName=“罗兰”;mystruct。高度= 150
mystruct = FirstName:“罗兰”高度:150

每个字段的结构mystruct似乎是一个单独的MATLAB数组。第一个,FirstName是一个字符串长度为5的,其次,高度,是一个标量双(厘米,对于那些关注单位)。

我可以添加另一个字段,其内容的内容可以是任何有效的MATLAB函数。每个字段是独立的规模和数据类型。

的结构体数组

假设我想扩展这个数组包含他人和测量。我可以种植这个数组元素。

mystruct (2)。FirstName =“弗雷德”;mystruct (2)
ans = FirstName:“弗雷德”高度:[]

你可以看到,自从字段高度还没有一个值,它的值设置为空([])。

不长数组

多年来,我们已经了解到,越来越多的数组是一个资源使用不当在MATLAB和预先配置方面的帮助不是破碎的记忆,而不是花时间找一个足够大的内存插槽。所以,如果我知道我想要100个名字结构体,我可以初始化结构体是正确的大小。我感觉可能会或可能不会需要初始化内容结构体数组的然而,因为每个字段元素本质上是自己的MATLAB的数组。

如何初始化结构体数组

这里有两种方法来初始化结构体

mystruct (100)。FirstName =“乔治”;

通过这种方法,我们可以看到,与空数组元素填写。

mystruct (17)
ans = FirstName:[]高度:[]

还有一个初始化方法结构体填充它为初始值。

如果我们构建我们的结构体5的儿子乔治·福尔曼这样,我们可以创建。

georgeStruct =结构(“FirstName”,“乔治”,“高度”,{195 189 190 194 193})
georgeStruct = 1 x5结构体数组字段:FirstName高度

看着georgeStruct的内容我们都看到他的儿子名叫乔治

{georgeStruct.FirstName}
ans =“乔治”“乔治”“乔治”“乔治”“乔治”

我由他们的高度

(georgeStruct.Height)
ans = 195 189 190 194 193

看何时以及如何使用细胞数组初始化,阅读结构体仔细参考页面。如果你想要一个字段包含单元阵列,你必须在该细胞中嵌入另一个单元阵列。

初始化内容

它重要的是如何初始化内容结构体。当然,这取决于你的具体情况,但由于是自己的MATLAB数组,每个字段都不一定需要初始化。然而关键在于尝试不生长结构体增量本身或它的任何内容。

你使用的结构

你用什么结构?你可以填充的内容吗结构体前面吗?或者至少确定大小早在您的应用程序?请告诉我你使用post的细节在这里




使用MATLAB®7.5发表


评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。