2014-04-22 84 views
0

我有一個Matlab編碼器的問題。我想從Matlab插值函數pchip生成C代碼。我coder.screener驗證功能,它說,它可以生成代碼,但是當我嘗試建立pchip.m文件我得到這個錯誤:如何使用matlab編碼器將matlab函數'pchip'轉換爲c代碼

The function 'pchip' is not supported for standalone code generation. See the documentation for coder.extrinsic to learn how you can use this function in simulation.

誰能幫助我?我真的需要將這個函數轉換爲C語言編寫我正在編寫的程序。

代碼生成的 pp = pchip(x,y)

回答

1

限制從documentation

  • 輸入x必須嚴格遞增。
  • 不會刪除y條目,其值爲NaN
  • 如果您爲pp = pchip(x,y)語法生成代碼,則不能在ppval函數中輸入pp。從代碼生成軟件創建的pp結構創建MATLAB pp結構:
    • 在代碼生成中,使用unmkpp將分段多項式細節返回給MATLAB。
    • 在MATLAB中,使用mkpp創建pp結構。

所以,請檢查您滿足前面的點;特別是最後一個。你在文檔中有如何製作/取消製作picewise多項式的例子。

+0

對'pchip'的代碼生成支持已添加到R2014a http://www.mathworks.com/help/coder/release-notes.html中,因此如果您在此之前使用發行版,則可能會考慮升級。 –

+0

非常感謝你這是它!解決方案升級到r2014。 – user2470360