gpt4 book ai didi

matlab - 在 Matlab 中将函数作为参数传递

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:34 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,它获取两个数组和另一个函数的名称作为参数。

例如

main.m:

x=[0 0.2 0.4 0.6 0.8 1.0];
y=[0 0.2 0.4 0.6 0.8 1.0];

func2(x,y,'func2eq')

func 2.m :
function t =func2(x, y, z, 'func') //"unexpected matlab expression" error message here
t= func(x,y,z);

func2eq.m:
function z= func2eq(x,y)

z= x + sin(pi * x)* exp(y);

Matlab 告诉我上面的错误信息。我以前从未将函数名称作为参数传递。我哪里错了?

最佳答案

您还可以使用函数句柄而不是字符串,如下所示:

main.m:

...
func2(x, y, @func2eq); % The "@" operator creates a "function handle"

这简化了 func2.m:

function t = func2(x, y, fcnHandle)
t = fcnHandle(x, y);
end

有关详细信息,请参阅有关 function handles 的文档

关于matlab - 在 Matlab 中将函数作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2730029/

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