代碼讓我們假設我們有下面的代碼生成C++從MATLAB
function Hdl=mcadd()
%#codegen
Fc=0.4;
N=100; % FIR filter order
Hf=fdesign.lowpass('N,Fc',N,Fc);
Hdl=design(Hf,'window','window',@hamming,'SystemObject',true);
end
我想低通濾波器的設計從MATLAB代碼轉換前奏相當於C++代碼,爲了這個,我已經嘗試下面的命令
codegen -args {Z} -report mcadd.m
了這個命令,但我得到以下錯誤
codegen -args {Z} -report mcadd.m
Failed to evaluate '{Z}' to non-empty array in the base workspace.
Use help codegen for more information on using this command.
Error using codegen (line 146)
這裏是工作的代碼
function c=add_numbers(a,b)
%#codegen
c=a+b;
disp(c)
end
結果
>> a=5;
>> b=4;
>> codegen -args {a,b} -report add_numbers.m
Code generation successful: View report
在此先感謝您,對於給定的代碼,您能幫助我向我展示一個可行的例子嗎?謝謝advanmce –
讓我寫簡單的函數然後 –
係數是設計濾波器的結果嗎?我的意思是那些過濾器的設計應該是功能的特大? –