Нахождение размеров анонимной функции - PullRequest
0 голосов
/ 20 мая 2018

У меня есть функция в Octave / MATLAB, такая как:

A = @(x1, x2) [0 1; -1*x1 -0.9*x2^2; x1 3*x2];

И я хочу найти размер функции.Один из вариантов проверки количества столбцов:

nargin(A)

Что дает 2 в этом случае.Но как насчет строк?Я знаю, что есть 3 строк.Но когда я проверяю размеры, я получаю:

size(A)
ans = 
   1   1

Как узнать количество строк функции A?

1 Ответ

0 голосов
/ 20 мая 2018

nargin не проверяет количество столбцов .Вместо этого он возвращает количество входных аргументов функции.

Одним прямым способом было бы ввести любые значения и затем найти size.т.е.

>> size(A(0,0))

ans =
     3     2

Если входных аргументов много, и вы хотите автоматизировать процесс ввода входных аргументов, то:

>> tmp = num2cell(zeros(nargin(A),1));
>> size(A(tmp{:}))

ans =
     3     2
...