Matlab编码器fzero函数

Matlab coder fzero function

我正在尝试使用 "MATLAB Coder" 将 MATLAB 代码转换为 C 代码,但不允许使用匿名函数。

如何将 fzero 函数转换为

myfun = @(x,c) cos(c*x);  % parameterized function
c = 2;                    % parameter
fun = @(x) myfun(x,c);    % function of x alone
x = fzero(fun,0.1)

转换为普通函数,例如,将整个代码转换为 C。

您有 "anonymous" 个函数,而不是 "undefined" 个函数,只是为了澄清术语。

将以下内容转换为命名函数:

myfun = @(x,c) cos(c*x);  % parameterized function

这样写:

function result = myfun(x,c)

result = cos(c*x);

end

第二个函数,这样写:

function result = myfun2(x)
c = 2;
result = cos(c*x);

end

最后,像这样调用 fzero:

x = fzero(@myfun2, 0.1);