matlab - 如何从用户定义的函数中获取输入和输出
问题描述
我正在尝试获取我在函数外部定义的函数的输入和输出的名称。换句话说,我无法在函数内部进行任何更改。我找不到执行此操作的任何内置函数。是否有提供功能详细信息或摘要的功能。
例如,myfunc.m
文件如下所示,我在另一个脚本中调用此函数。
function [out1, out2] = myfunc(input1, input2, input3)
operations
end
我需要得到字符串'out1', 'out2', 'input1', 'input2', 'input3'
我正在使用Matlab R2018a。
解决方案
如果您允许在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
文件,但您想读取函数的第一行,您可以尝试命令open
或edit
.
在另一个脚本中,写入open myfunc
或edit myfunc
,它将在新选项卡中打开文件,您将能够阅读它。
推荐阅读
- r - cox 回归的时间分割数据影响 cox.zph() 比例风险检查
- node.js - Node/Sharp:调整缩略图大小会产生比预期大得多的图像
- webassembly - 如何测试我的 WebAssembly 解释器的实现是否符合规范?
- javascript - 选择新选项后如何更改 html 元素的文本内容?
- vue.js - 如何在 Vue.js 中使用添加的 Hash 以编程方式导航
- google-apps-script - 谷歌应用脚本定时触发器比预定时间延迟
- javascript - JavaScript WebStorage - setItem 名称而不是值
- c# - Docker.Dotnet :: 试图征用 Swarm 中的所有节点
- javascript - 无法从 HTML/EJS 文件运行外部 javascript
- c++ - 加密++ ECDSA
::PrivateKey::Initialize 造成分段错误 [已解决]