【发布时间】:2013-08-10 12:26:12
【问题描述】:
我有一个使用结构的函数。我想将结构的一个字段作为函数的输出传递。这是我喜欢做的一个例子:
function MyStructure.myField = my_function(input)
MyStructure.myField = input * 3;
但是,MATLAB 不允许在函数输出中使用点 (.) 表示法。我当然可以通过这样做非常简单地解决这种情况:
function myOutput = my_function(input)
MyStructure.myField = input * 3;
myOutput = MyStructure.myField;
一个简单的解决方法,但我想知道是否有更优雅的解决方案..?
【问题讨论】:
-
我不明白为什么它是一个结构字段很重要。似乎该结构完全包含在您的函数中,那么为什么要以特殊方式返回它呢?您的解决方法对我来说似乎非常好。
-
上面的代码是一个说明性的例子。在我的真实代码中,我的结构中有多个字段,并且希望只返回一个字段,而不必在我的代码中添加额外的行。
-
您的解决方法是做到这一点的唯一方法,没有错。
-
您是解决方案,而不是解决方法。你没有提供足够的信息来确定你为什么需要你想要达到的目标。
标签: matlab function struct output