如何从用户定义的函数获取输入和输出

时间:2019-01-14 10:43:41

标签: matlab

我正在尝试获取我在函数外部中定义的函数的输入和输出的名称。换句话说,我无法在函数内部进行任何更改。我找不到执行此操作的任何内置函数。是否有提供功能细节或功能摘要的功能。

例如,databaseReference.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { String value = (String) dataSnapshot.getValue(); // do your stuff here with value } @Override public void onCancelled(FirebaseError firebaseError) { } }); 文件如下所示,我在另一个脚本中调用此函数。

myfunc.m

我需要获取字符串function [out1, out2] = myfunc(input1, input2, input3) operations end

我正在使用 Matlab R2018a

2 个答案:

答案 0 :(得分:0)

您可以将inputname用作输入,对于输出,没有简单的解决方案,但是您可以尝试this

答案 1 :(得分:0)

如果您允许在myfunc.m文件中进行更改,建议您尝试以下操作:

function [out1, out2] = myfunc(input1, input2, input3)
% 'out1', 'out2', 'input1', 'input2', 'input3'

operations

end

然后使用其他脚本(例如test.m):

% stuff...
help myfunc
% things....

它将返回

  

'out1', 'out2', 'input1', 'input2', 'input3'


如果您允许在myfunc.m文件中进行更改,则还可以尝试:

function [out1, out2, string] = myfunc(input1, input2, input3)

operations

string = ["out1", "out2", "input1", "input2", "input3"];

end

在脚本中

[~,~,string] = myfunc(1, 1, 1)

它将返回:

string = 
1×5 string array

    "out1"    "out2"    "input1"    "input2"    "input3"

编辑:由于您进行了修改,因此不允许您干预myfunc.m文件,但是要阅读该功能的第一行,可以尝试使用命令{{3 }}或open

在另一个脚本中,编写open myfuncedit myfunc,它将在新标签页中打开文件,您将能够读取该文件。