Код Mathematica выглядит следующим образом:
In:Map[Function[x, x + 1], {1, 2, 3}]
Out:{2, 3, 4}
Как я могу использовать аналогичный метод для реализации этого выражения в MATLAB?
Было бы полезно, если бы вы объяснили, что делает код
@nicolallias: я не думаю, что толпа Mathematica будет лучше находить подходящую функцию MATLAB. Этот вопрос, скорее всего, не по теме.
KarryMa: У вас будет больше шансов получить хороший ответ, если вы объясните, что Map
делает в системе Mathematica и чего пытается достичь ваш код. Я не знаю, сколько людей здесь знают и MATLAB, и Mathematica достаточно хорошо, чтобы ответить на ваш вопрос, как сейчас.
Я понимаю вашу застенчивость, но это не совсем не по теме mathematica.stackexchange.com/search?q=matlab -> лучшая релевантная тема касается транскодирования между mathematica и matlab. Взгляните на 12000.org/my_notes/mma_matlab_control/KERNEL2/index.htm, который я нашел на mathematica.stackexchange.com/a/44225.
С этим вопросом связана гораздо более широкая проблема, заключающаяся в том, что тело не соответствует заголовку. Это вопрос о достижении эквивалента Map
, как указано в заголовке - и в этом случае, где код MATLAB для создания входных данных, которые должен получить эквивалент Map
? Или речь идет о достижении H1
, созданного на языке Wolfram Language, в соответствии с телом - в этом случае более подробное объяснение этого кода поможет лучше задать вопрос, поскольку мне не кажется, что хорошая реализация MATLAB была бы такой близкий по структуре к этому коду вне вызова Map
.
Я получил ответ, который хотел, всем спасибо!
Не знаю, актуально ли это, но похоже, что вы ищете функцию arrayfun()
:
y = arrayfun(@(x) x+1, [1 2 3])
Надеюсь, поможет!
Возможно, вам повезет больше mathematica.stackexchange.com