我想使用「MATLAB編碼器」將MATLAB代碼轉換爲C代碼,但匿名函數是不允許的。Matlab編碼器fzero函數
我如何轉換例如一個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.
我想使用「MATLAB編碼器」將MATLAB代碼轉換爲C代碼,但匿名函數是不允許的。Matlab編碼器fzero函數
我如何轉換例如一個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);
在這種情況下什麼是「未定義函數」?我沒有看到任何未定義的內容。 – rayryeng
對不起,我會重命名它。你是對的 – Mauro