如何转换matlab函数' pchip'使用matlab编码器编写代码

时间:2014-04-22 20:40:41

标签: c matlab matlab-coder

我遇到了Matlab Coder的问题。我想从Matlab插值函数pchip生成C代码。我使用coder.screener验证了该功能,并说它可用于代码生成,但是当我尝试构建pchip.m文件时,我收到此错误:

  

功能' pchip'独立代码生成不支持。请参阅coder.extrinsic的文档以了解如何在模拟中使用此函数。

任何人都可以帮助我吗?我真的需要在C中为我正在编写的程序转换这个函数。

1 个答案:

答案 0 :(得分:1)

来自documentation的代码生成pp = pchip(x,y)的限制:

  • 输入x必须严格增加。
  • 不会删除y个值为NaN的条目。
  • 如果您为pp = pchip(x,y)语法生成代码,则无法在MATLAB中向pp函数输入ppval。要从代码生成软件创建的pp结构创建MATLAB pp结构:
    • 在代码生成中,使用unmkpp将分段多项式详细信息返回给MATLAB。
    • 在MATLAB中,使用mkpp创建pp结构。

所以,请检查您是否满足以前的要点;特别是最后一个。您在文档中有关于如何制作/取消制作picewise多项式的示例。