问题标签 [function-handle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
375 浏览

matlab - 是否可以在没有 try 块的情况下测试函数句柄?

是否可以用不使用异常的代码替换以下代码?手柄x是提供的手柄。我想在使用前测试它的有效性(有实际的代码来支持句柄)。

0 投票
3 回答
1479 浏览

matlab - 我什么时候可以传递函数句柄?

我有一个缓存评估的功能。作为参数之一,它需要一个函数句柄。在某些情况下,函数句柄是不可访问的,我不太明白为什么。下面的示例显示了让我难过的原因:

所以,如果我有一个存储为结构成员的函数句柄,如果它是一层深,我可以很好地传递它,但如果它是两层深则不行。在我的真实用例中,我有一个结构D,其中包含许多(117)个不同类的实例,所以我实际上有stct.obj.meth, wherestct是一个结构,obj是一个类实例/对象,meth是一个方法。传递@stct.obj.meth失败,但如果我分配A = stct.obj,则传递@A.meth成功。

在什么情况下我可以将函数句柄作为参数传递,以便它仍然可以在堆栈中访问?


编辑:虽然在上面的用例中,我可以简单地删除@因为@plus已经是一个函数句柄。但是,请考虑这里的情况:

在这种情况下,我需要之前...@A.a.mymeth

0 投票
2 回答
2536 浏览

matlab - 循环中的Matlab积分函数和函数句柄

'Outliers.m' 从更高级别的 .m 文件中调用。这些变量都在更高级别的文件中定义,并设置为全局变量以供 Outliers.m 访问。代码的目的是使用 Chauvenets Criterion 识别异常值,为此,我必须使用 Integral 函数和函数句柄来计算高斯分布的积分。当我输入特定变量作为测试时,代码可以工作并给出合理的值,但我无法让它在循环中工作。我的数据集由 7 个单独的样本组成,每个 1x30,所有这些都需要分析。我遇到了各种错误,阅读了关于 Integral 和函数句柄的指南,但似乎找不到解决方案......非常感谢任何帮助或指导......这是我的代码:

0 投票
2 回答
348 浏览

matlab - matlab类方法上的nargin返回-1

我有以下情况。在myClass.m我定义了

然后我执行

结果是-1,而我期望为1。该函数仍然只接受一个参数。我实际上想将句柄传递给另一个检查参数数量的函数(我无权访问),并且我希望检查 nargin(f)==1 成功。有没有办法做到这一点?

PS我知道,如果我将方法定义为静态,我将通过调用获得正确的结果,nargin(@(x)Test.foo)但该方法访问类变量。

0 投票
1 回答
99 浏览

matlab - 如何在matlab中获取点击矩形的标签

我在图中有一组矩形。我通过 rect_tag 索引标记它们,并且我想获得一个具有单击矩形标签的数组(或单元格数组)。矩形由以下方式生成:

如何定义 add_rectangle 函数来完成此操作?

0 投票
1 回答
919 浏览

arrays - 如何从 MATLAB 中的数组生成多个状态空间

我想问一下如何从数组创建多个状态空间

输入是:

例子:

其中每一个都包含一百个各自类型(A、B、C 或 D)的矩阵。

输出应该是:

每组矩阵对应一个状态空间。

第一个系统的示例:

使用此代码

我得到了正确的输出。四个数字,一个系统 <1x1 ss>。这个:

但是,使用此代码:

虽然我应该得到 2 个与第一个相同的系统,但我得到了这个:

这是一个错误的答案。

方法一:

这已经生成了 100 个矩阵尺寸为 200x200 的状态空间,这是错误的,因为我期望尺寸为 2x2。显然,考虑了整个矩阵的维度。

示例输入向量的示例输出:

方法二:

以这个错误结束。

当前未实现使用 arrayfun ss 输出类型的错误。

谢谢你的帮助,彼得

0 投票
0 回答
110 浏览

matlab - MATLAB 嵌套句柄返回多个输出

我有一个返回 3 个值的函数句柄。

我现在想做的是创建一个函数句柄,该句柄执行这 3 个向量中的每一个与另一个向量的点积。就像是:

事实上,这个句柄只返回 1 个值,即使我试图要求更多,即这会产生一个错误:

有没有办法创建一个函数句柄,根据请求返回所有 3 个值?

0 投票
1 回答
394 浏览

matlab - 从函数句柄获取绝对文件路径

是否有可能检索包含由函数句柄表示的函数的文件的绝对路径?例如:

MATLAB中是否有等效的GETPATHFROMHANDLE函数?这似乎是通过简单的功能,但我无法解决。我知道func2strwhich功能,但在这种情况下不起作用。

0 投票
2 回答
238 浏览

matlab - Matlab:将所有参数传递给函数句柄

我在一系列文件上运行了很多功能。因此,创建一个在文件上运行我的函数的函数是合乎逻辑的,而不是在每个文件中重复该过程。问题是每个函数的参数数量不同!所以伪代码是:

幸运的是,在我的例子中,输出几乎是相似的,我可以添加一些假人来使它们都相似。但是,如果有类似的方法来解决它们,我将不胜感激。

0 投票
1 回答
864 浏览

matlab - 尝试在 MATLAB 中求解 ODE 系统会产生以下错误:“未定义函数 'exist' for input arguments of 'cell'”

当我尝试在 MATLAB 中求解两个方程的 ODE 系统时,我遇到了一些困难。

我正在使用的代码如下:

当我执行此代码时,我收到以下错误:

'cell' 类型的输入参数的未定义函数 'exist'。

我不想创建样式的功能

因为此代码旨在嵌套在函数代码中,然后将插入到 Simulink 中的 MATLAB Function 模块中,该模块需要使用 Simulink 文件中其他模块的输出作为输入。

我不能直接在 Simulink 上执行此操作,因为该代码实际上是我需要求解的一组更大方程的练习,其中自变量不是时间而是距离。

任何帮助,将不胜感激。

谢谢!