簡體   English   中英

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。

您具有“匿名”功能,而不是“未定義”功能,只是為了清除術語。

要將以下內容轉換為命名函數:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM