1
我在MATLAB R2010a中用以下代碼創建了一個腳本文件。我將它編譯成.NET程序集(.dll文件)。調用MATLAB方法編譯爲.NET程序集C#
MATLAB腳本:
function res=Moshtagh(f)
res=diff(f);
end
這在MATLAB工作正常。 請注意,在我的dll中,類名是Difer
,我的計算衍生物的方法是Moshtagh
。
C#代碼:
using MathWorks.MATLAB.NET.ComponentData;
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
try
{
Untitled3.Difer dif = new Untitled3.Difer();
MWArray mw = "x+sin(2*x)";
MessageBox.Show(dif.Moshtagh(mw).ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
但問題是不是得到的結果1+2cos(2x)
,消息框顯示:
-77 72 -10 5 -70 10 -8 78 -79
我測試過,但沒有什麼影響! – salar
你能解釋一下嗎? – salar
@salar,據我所知,編譯.NET函數的第一個參數始終是nargout - 它是一個int。所以你應該在那裏「1」 –