Глядя на MatLab помощью анонимных функций, глядя на раздел functions with multiple inputs or outputs, я бы думать, что вы могли бы сделать что-то вроде кода ниже
Второй редактировать Оказывается, если вы используете сделку (как указано thewaywewalk), или если вы разыскиваете анонимную функцию, вы можете получить то же самое.
[email protected](a,b) {(a^2),(b/2)};
[x y]=crazyfunction(a,b);
Быстрый и грязный тест показывает, что это не даст синтаксических ошибок
>> f = @(x,y) {x^2, y/2};
>> f(2,2)
ans =
[4] [1]
РЕДАКТИРОВАНИЕ Разожженный MATLAB, чтобы увидеть мой первоначальный ответ будет на самом деле работать, не похож на него (см второй вам нужно использовать {}).
Вы бы либо ромашка цепи, две анонимные функции вместе таким образом, что а и Ь являются частью анонимной функции с или использовать на структуру эффективно анонимных функций, как показано ниже
crazyfunction={@(a) (a^2); @(b) (b/2);}
[crazyfunction{1](7) crazyfunction{2}(9)]
ans =
49.0000 4.5
Спасибо, это именно то, что я хочу (как же Я не думал об этом?: D) – arynaq