Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
62 / 62 / 1
Регистрация: 22.12.2011
Сообщений: 1,440
1

Анонимная функция, вернуть 2 параметра

07.01.2015, 17:31. Показов 2223. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени!
Подскажите, конструкцию
как можно используя анонимную функцию @() или inline вернуть 2 и более параметров?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2015, 17:31
Ответы с готовыми решениями:

Анонимная функция в интегрировании
Здравствуйте, гуглил способы интегрирования в Matlab и наткнулся на функцию для числового...

Функция должна вернуть 4 параметра
Здравствуйте. Что то я совсем подзабыл основы. Есть функция в которую я передаю 4 параметра в виде...

Анонимная функция
Небольшой код с анонимной функцией. Скажите каким образом при выводе сообщения через alert к Hello...

Не срабатывает анонимная функция
Добрый день! Подскажите, пожалуйста, почему текст 'connect' в данном случае виден, а 'inner...

6
34 / 34 / 4
Регистрация: 19.02.2013
Сообщений: 118
08.01.2015, 03:15 2
Судя по википедии, я так понял, что анонимная функция, это что-то вроде прототипа функции, только без названия собсно функции. Там же приведен пример
Matlab M
1
f=@(x,y) x+y
Не могу представить для чего это может пригодится, если речь идёт о функции которая будет возвращать 2 аргумента, то у меня вполне работает такой пример:
Matlab M
1
@(x,y)[x+y,x-y]
0
62 / 62 / 1
Регистрация: 22.12.2011
Сообщений: 1,440
08.01.2015, 22:31  [ТС] 3
Цитата Сообщение от Алексей89 Посмотреть сообщение
@(x,y)[x+y,x-y]
В итоге сделана анонимная функция принимающая два аргумента, а возвращающая один аргумент - вектор из двух значений

можешь проверить
конструкция такого вида не работает
Matlab M
1
2
3
4
f = @(x,y)[x+y,x-y]
a = f(1,1) % один возвращаемый аргумент, вектор из двух элементов
[a, b] = f(1,2) % ошибка, функция не возвращает два аргумента
% дословно: Output argument "varargout{2}" (and maybe others) not assigned during call to "@(x,y)[x+y,x-y]".

Цитата Сообщение от Алексей89 Посмотреть сообщение
Не могу представить для чего это может пригодится, если речь идёт о функции которая будет возвращать 2 аргумента
использую матлабовскую функцию, которая требует возвращения двух аргументов

Добавлено через 10 часов 33 минуты
работающий вариант через две функции, может кто подскажет как свести до одной
(матлаб же не будет вызывать две функции)

Matlab M
1
2
3
f1 = @(x) {x+1, x+2};
f2 = @(xcell) xcell{:};
[a, b] = f2(f1(0))
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
08.01.2015, 22:48 4
Цитата Сообщение от xtreme Посмотреть сообщение
работающий вариант через две функции, может кто подскажет как свести до одной
(матлаб же не будет вызывать две функции)
Почему нет?
Matlab M
1
f3=@(x)f2(f1(x));
0
62 / 62 / 1
Регистрация: 22.12.2011
Сообщений: 1,440
09.01.2015, 01:49  [ТС] 5
Цитата Сообщение от S_el Посмотреть сообщение
(матлаб же не будет вызывать две функции)
потому что функцию использую не я, а матлабовская функция, ей передаю handel
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
09.01.2015, 02:07 6
Лучший ответ Сообщение было отмечено xtreme как решение

Решение

Цитата Сообщение от xtreme Посмотреть сообщение
потому что функцию использую не я, а матлабовская функция, ей передаю handel
Нагуглил такое решение:
Matlab M
1
2
f = @(x)deal(x.^2,x.^3);
[a,b]=f(3)
3
62 / 62 / 1
Регистрация: 22.12.2011
Сообщений: 1,440
09.01.2015, 10:34  [ТС] 7
Спасибо, то что надо
0
09.01.2015, 10:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2015, 10:34
Помогаю со студенческими работами здесь

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

Анонимная функция и замыкание
Привет всем. Поясните пожалуйста верно ли я понял. Вот есть анонимная функция(онаже Лямбда-функци)...

Анонимная самовызывающаяся функция
Почему анонимную функцию нельзя вызвать без круглых скобок? Нет ошибок: (function(){ //do...

Анонимная функция нахождения произвидения 2 чисел
Задание: Анонимная функция нахождения произвидения 2 чисел. Пытался сделать самостоятельно нечего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru