Как получить входы и выходы из определенной пользователем функции - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь получить имена входов и выходов функции, которую я определил , находясь вне функции . Другими словами, я не могу внести никаких изменений в функцию. Я не мог найти встроенную функцию, которая делает это. Есть ли функция, которая дает подробности или краткое изложение функции.

Например, файл myfunc.m похож на приведенный ниже, и я вызываю эту функцию в другом скрипте.

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

Мне нужно получить строки 'out1', 'out2', 'input1', 'input2', 'input3'

Я использую Matlab R2018a .

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Если вам разрешено вносить изменения в файл 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, и он откроет файл в новой вкладке, и вы сможете прочитать его.

0 голосов
/ 14 января 2019

Вы можете использовать inputname для ввода, для вывода нет простого решения, но вы можете попробовать this

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...