问题标签 [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 回答
242 浏览

matlab - matlab中匿名函数的问题

我无法打印出 h_a_b。我能够得到函数 f 和 g 但不是这个。我需要使用 h_a_b 函数,所以我可以做 h(f(x),g(x)) 并计算 h(a,b) 的 sqrt。见方程

我总是收到这个错误

我想编写一个程序来创建代表函数的 3 个匿名函数

需要的方程

f(x) = 10*cos x ,

g(x) = 5*sin * x,并且

h(a,b) = \sqrt(a^2 + b^2)。

这是我的代码

然后我用给我的这个函数来绘制它。

0 投票
3 回答
460 浏览

matlab - 从 MATLAB 中的单元格调用多个函数

我将一些功能存储在单元格中,例如f = {@sin, @cos, @(x)x+4}.

是否可以同时调用所有这些函数(使用相同的输入)。我的意思是比使用循环更有效的东西。

0 投票
2 回答
13158 浏览

arrays - matlab如何创建函数数组?

我试图通过使用RK2和RK4的方法在matlab中解决洛伦兹系统。我对这两种方法都有一个脚本,现在的问题是如何收敛以下

简单地转换为 y 的列向量。

这是我所希望的,但它从未奏效:

以下是我的 RK2 函数。我的 RK4 和这个 RK2 很相似,这可以帮助你理解为什么我真的需要一个函数向量。

0 投票
0 回答
55 浏览

matlab - 编辑函数句柄数组,如 A= @(x)[ ... ]

我有以下问题。我创建了一个函数句柄数组,例如

A= @(x) [2*x; 3+x; 3-5*x; 4+7*x];

我喜欢得到一个新数组

B=@(x)[3+x; 4+7*x]容易地。

你知道如何获取函数句柄数组的一些组件吗?

而且我想使用这个新的函数句柄数组来解决具有标准方法(如 ode23、ode45)的 ODE。它是函数句柄的正确定义还是我应该使用元胞数组定义?

您真诚的阿尔乔姆

0 投票
1 回答
366 浏览

matlab - 使用数值矩阵作为源在 MATLAB 中动态创建匿名函数句柄

我有点迷失在一个问题中,我需要(动态地)从巨大的矩阵和 192 个变量创建一个匿名函数句柄。

我将尝试为您提供一个(更简单的)示例,说明我必须做什么以及实现它的想法(但不知道如何在 MATLAB 中执行此操作):

所以,这就是我想要的(my_fun)

问题是,将会x1有10000x192 和10000x1。使用符号 tb 非常慢,因为我后来必须计算 Hessian,所以它超级慢。x192FY

我现在找到了一种数值计算 Hessian 的方法(来自 MATLAB 文件交换),但不知道如何计算my_fun为(匿名)函数。我只是缺乏 MATLAB + 函数句柄的技能。我已经尝试了几件事。

所以,我想我需要知道的是如何用 to动态X创建然后计算x(1)x(192)my_fun = @(x) ...

编辑:感谢您的编辑:) 我能想到的唯一解决此问题的方法是使用几个循环将匿名函数句柄创建为字符串,然后使用str2fun,但我觉得这不是最简单的方法得到我需要的东西:)

0 投票
1 回答
71 浏览

matlab - matlab函数中~符号的意义

如果我有一个函数 a 在 Matlab 中接受 2 个参数(双),如下所示

用这个句柄调用函数时符号“~”的作用如下

谢谢

0 投票
1 回答
657 浏览

matlab - MATLAB:将类函数句柄传递给 ode45()?

我有一个使用 ODE45 解决一些方程的类函数。我还有另一个私有类函数,它代表 ODE45 需要解决的 odefunction。但是,我不知道如何将类的 ode 函数的句柄传递给 ODE45。这是示例代码:

当我运行它时,我收到一条错误消息:

如果我将 ODEFunction 移出类并将其放入自己的 *.m 文件中,则代码运行良好。我也试过在 ode45 调用中使用“@obj.ODEFunction”,但它说:

将 ODEFunction 保留在我的班级中并且仍然能够将其句柄传递给 ode45 的最佳方法是什么?

0 投票
1 回答
557 浏览

matlab - MATLAB中的ezplot,如何使用函数句柄进行绘图?

我试过这个:

但是我返回了这个错误:

aa, ba,ca都是已知值(列向量)。x 和 y 限制是我正在使用的图像的大小。我正在尝试绘制一组极线。有什么建议么?

编辑:

0 投票
1 回答
461 浏览

matlab - Matlab:在 eval 中使用函数句柄不能替代吗?

难道不能做这样的评价吗?

我使用 eval 创建一个函数(类验证创建了一个函数句柄)然后我使用 eval 来使用这个函数句柄。但它不评估,导致函数本身。尝试了许多不同的方式来写行。如下。可能有一个简单的方法来做到这一点?

我为什么要这样做:我有很大的符号矩阵可以替代。为了更快地评估,我试图从每个元素中创建函数。对此有何建议?

(使用 Matlab v.7)

% 代码 - - - - - - - - - - - - - - - -

% 结果 - - - - - - - - - - - - - - - -

0 投票
1 回答
57 浏览

matlab - 我在创建函数句柄时遇到问题。我想在最小化函数中嵌入一个最大化函数

以下代码不起作用,但这是我试图达到的想法。

其中约束和 funcHandle 是 x 的函数。整个代码将迭代一系列 sig。

显然 c(x)(i) 不起作用。我正在尝试编写函数,其中取 i 处的 c(x) 最小值(c(x) 是一个向量)或 0,然后取平方。

我知道我可以计算 c(x),然后在每个 i 处对其进行分析,但我最终想将 penFunc 作为句柄传递给另一个计算 penFunc 最小值的函数,所以我需要将其保留为函数。