gpt4 book ai didi

matlab - 使用 varargin 的匿名函数

转载 作者:行者123 更新时间:2023-12-02 17:45:43 25 4
gpt4 key购买 nike

我有一个函数需要 3 个强制输入和 1 个可选输入:

 f(A, B, C, X)

我想以这种方式使用匿名函数

h = @(X)f(A,B,C,X)

其中 A, B, C 已经定义,这样我就可以调用 h(1) 并且代码运行 f(A,B ,C,1),以及 h() 来运行 f(A,B,C)。我能够做到这一点的唯一方法(如果我错了请纠正我)是使用 varargin。我定义

f(A,B,C,varargin)

并使用

h = @(varargin)f(A,B,C,varargin)

问题是,当我直接调用 f(A,B,C,1) 时,函数内部有 varargin = {1}。如果我调用 h(1),那么我就有 varargin = {{1}}。我怎样才能避免这种情况?有没有更好的方法来实现我想要的?

最佳答案

您需要(或者更确切地说,可能最好)将 varargin 扩展为 comma-separated list与您当前的实现:

h = @(varargin)f(A,B,C,varargin{:})

是否有更好的方法取决于问题的具体情况。

关于matlab - 使用 varargin 的匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28905996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com