You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Octave/MATLAB中如何获取匿名函数输出矩阵的行数?

获取Octave/MATLAB匿名函数的输出维度

嘿,我太懂这个困惑了!size(A)返回1 1是因为A本质上是一个函数句柄,不是直接生成的矩阵——size在这里测量的是句柄对象本身的维度,完全不是函数执行后输出矩阵的维度。

要拿到输出矩阵的行数,你得先调用这个匿名函数(传入一组合法的输入参数),再对返回结果用size就行,具体操作如下:

步骤1:用合法参数调用函数

你的匿名函数A输出维度是固定的(不管x1和x2取什么合法值,输出都是3行2列的矩阵),所以随便选一组不会触发报错的参数就行,比如:

result = A(0, 0); % 用x1=0、x2=0做测试输入

步骤2:获取输出的行数

接着对返回的result使用size,就能提取到你要的行数了:

output_size = size(result);
output_rows = output_size(1); % 这里会得到3,就是你想要的输出矩阵行数

补充说明

  • nargin(A)能得到输入参数个数(这里是2),刚好和你这个函数的输出列数一致,但这是你这个函数的特殊情况——不是所有匿名函数的输出列数都等于输入参数个数,这个逻辑不能通用。
  • 如果你的匿名函数输出维度会随输入参数变化(比如包含条件分支),那你需要针对不同输入场景分别测试,但你的这个函数输出维度固定,一次测试就足够。

内容的提问来源于stack exchange,提问作者euraad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:06:23