1

我有一个使用结构的函数。我想将结构的一个字段作为函数的输出传递。这是我想做的一个例子

function MyStructure.myField = my_function(input)
MyStructure.myField = input * 3;

但是,MATLAB 不允许在函数输出中使用点 (.) 表示法。我当然可以通过这样做非常简单地解决这种情况:

function myOutput = my_function(input)
MyStructure.myField = input * 3;
myOutput = MyStructure.myField;

一个简单的解决方法,但我想知道是否有更优雅的解决方案..?

4

1 回答 1

3

您可以做的是忽略函数中的结构,仅在调用函数时使用它。例如:

function output = my_function(input)
% manipulate...
output = 3*input;

调用函数时,使用结构:

myStruct.myField = my_function(input)
于 2013-08-08T20:42:45.847 回答