我在问这个问题来测试一个概念。我没有试图在代码中提供解决方案,我只需要建议继续的方向。结构字段是函数matlab
我想做一个结构字段,它始终是相同结构的其他字段的函数。
我已经能够实现可以修改现有结构并使用新字段进行更新的代码。但是,如果不重新初始化代码,这是行不通的。
我需要能够添加另一个结构,为某些字段赋值,然后通过我定义的函数自动更新其余字段。
结构甚至是完成此任务的正确方法吗?我认为这不是,但我不确定可以使用什么方法。
我附上了一个非常简单的代码片段来演示这个问题。
module = struct('dim', [ 3 1 0.05], ...
'point', [0 0 0], ...
'shape', cubeshape(module.dim,module.point))
% cubeshape is my function of dim & point
MATLAB返回错误....
Undefined function or variable 'dim'.
这是有意义的,因为该结构()函数还没有被关闭 这意味着模块结构还没有被定义。
如果我的问题太新手了,请告诉我,我可以继续研究,但一些指导将不胜感激。
谢谢!
谢谢你的回应。假设我想在结构中添加3个模块,它们都可能具有不同的暗淡值和点值。我每次都必须调用module.shape(module.dim,module.point)吗? – ShadowMan
我不知道你的意思是“在结构中增加3个模块”。你的结构本身被称为“模块”。你的意思是一个结构数组,即'module(1)= struct(...)','module(2)= struct(...)',...?或者你的意思是增加更多的领域? [此视频](http://blogs.mathworks.com/pick/2008/04/22/matlab-basics-array-of-structures-vs-structures-of-arrays/)可以帮助你。 – horchler
对不起,我的术语缺乏。我想在一个结构数组中创建更多的模块结构。即'module(1)= struct(...)','module(2)= struct(...)',我希望每个这些结构的shape字段都对应于'dim'和'point' – ShadowMan