我有一个使用结构的函数。我想传递一个struct的一个字段作为函数的输出。以下是我喜欢的例子:
function MyStructure.myField = my_function(input)
MyStructure.myField = input * 3;
但是,MATLAB不允许在函数输出中使用点(。)表示法。我当然可以通过这样做来解决这个问题:
function myOutput = my_function(input)
MyStructure.myField = input * 3;
myOutput = MyStructure.myField;
一个简单的解决方法,但我想知道是否有更优雅的解决方案..?
答案 0 :(得分:3)
您可以做的是忽略函数中的结构,并仅在调用函数时使用它。例如:
function output = my_function(input)
% manipulate...
output = 3*input;
调用函数时,使用struct:
myStruct.myField = my_function(input)