在 Matlab 中,我通常会做一些事情,例如
f = @(x) x.^2;
xx = 0:.1:1;
ff = f(xx);
所以 f 是一个函数句柄, xx 和 ff 都是 1x11 向量。
但是,如果由于某种原因我需要像这样定义我的函数句柄 f
f = @(x) 1;
并且不要更改 xx 和 ff 的代码,那么 xx 仍将是一个向量,但 ff 不会:它将是一个双精度数。
这当然很烦人,因为我的代码的续集假设 ff 是一个 11x1 向量,所以我需要在 f 恰好是常量的任何时候更改我的代码。
所以我的第一个问题是我的代码一开始是否合理。如果是这样,我应该怎么做才能使其在“常量 f”情况下工作?如果没有,我应该如何重写它?
诚然,这类似于 matlab 常量匿名函数仅返回一个值而不是数组 ,但我无法在该线程中找到答案。