gpt4 book ai didi

matlab - 以向量参数为函数,并以向量成员的任意子集作为参数定义新的匿名函数

转载 作者:行者123 更新时间:2023-12-05 03:09:27 27 4
gpt4 key购买 nike

我有一个函数 vector_function,它将一个 1 x 6 向量变量作为其唯一参数。我想定义一个基于 vector_function 的匿名函数 anon_fun,它将 1 x 6 向量的某些成员指定为参数,并将默认值分配给其余部分。

例如,如果我想使用 1 x 6 向量变量的前三个成员作为输入参数来创建 anon_fun,我可以这样写:

% Define default variable values.
var_def = [1,2,3,4,5,6];

% Set which variables to use as arguments.
var_flag = [true,true,true,false,false,false];

% Define anonymous function that takes
anon_fun = @(var)...
vector_function([var(1),var(2),var(3),var_def(4),var_def(5),var_def(6)]);

有没有办法处理 var_flag 的所有 2^6 = 64 种可能排列?我可以更改 vector_function 接受输入的方式,但这需要大量的重新编码。

最佳答案

您可以为 anon_fun 使用以下定义:

anon_fun = @(var) vector_function(var .* var_flag + var_def .* ~var_flag);

关于matlab - 以向量参数为函数,并以向量成员的任意子集作为参数定义新的匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42773162/

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