Отказ от ответственности: Я фактически использую Scilab, но он в основном очень похож на MATLAB, и, основываясь на моих исследованиях, похоже, что такое же явление происходит с MATLAB.Что именно возвращает функция мультивыхода в Matlab?
В MATLAB функции могут быть мультивыступающими. Предположим, что у нас есть функция function [a, b] = f(x)
. Если я печатаю:
c = f(x)
Тогда c
присваивается значение первого выхода. Если я типа:
[a, b] = f(x)
Тогда [a, b]
задается значение пары обоих выходов. Это, по-видимому, означает, что MATLAB не имеет referential transparency. Каково фактическое значение выражения f(x)
? Что происходит?
Да, Matlab не является ссылочным прозрачным. В противном случае вы можете проиндексировать результат функции. Я думаю, что это упростить программирование, потому что некоторые функции имеют «менее важные» вещи как 2-й и 3-й выпуск. –