1

構造体を使用する関数があります。関数からの出力として構造体のフィールドの 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 に答える