查找匿名函数的维度

问题描述 投票:1回答:1

我在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的行数?

matlab function octave anonymous-function dimensions
1个回答
3
投票

nargin不检查列数。它返回函数的输入参数的数量。

一种直截了当的方式是输入任何值,然后找到size。即

>> size(A(0,0))

ans =
     3     2

如果有很多输入参数,并且您想要自动输入输入参数的过程,那么:

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

ans =
     3     2
© www.soinside.com 2019 - 2024. All rights reserved.