Matlab: как указать вход в matlabFunction? - PullRequest
0 голосов
/ 15 февраля 2019

matlabFunction() - это функция, которая может преобразовывать символьную в анонимную функцию.Но как указать, какие входные аргументы должны отображаться в анонимной функции?

Например,

x = sym('x', [3, 1])
func = matlabFunction(x)

Возвращает дескриптор с:

func =

  function_handle with value:

    @(x1,x2,x3)[x1;x2;x3]

Но какчтобы сделать это возвращаемым:?

@(x) [x(1); x(2); x(3)]

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

1 Ответ

0 голосов
/ 15 февраля 2019

Вместо создания этой анонимной функции вы можете ввести элементы x в виде списка, разделенного запятыми до func, сначала , преобразовав x в массив ячеек .

xcell = num2cell(x);
func(xcell{:})
...