如何在MATLAB中将结构字段作为函数输出传递?

时间:2013-08-08 17:11:32

标签: matlab function struct output

我有一个使用结构的函数。我想传递一个struct的一个字段作为函数的输出。以下是我喜欢的例子:

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

但是,MATLAB不允许在函数输出中使用点(。)表示法。我当然可以通过这样做来解决这个问题:

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

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

1 个答案:

答案 0 :(得分:3)

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

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

调用函数时,使用struct:

myStruct.myField = my_function(input)