【问题标题】:How to convert matlab function 'pchip' to c code with matlab coder如何使用 matlab 编码器将 matlab 函数“pchip”转换为 c 代码
【发布时间】:2014-04-22 20:40:40
【问题描述】:

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

独立代码生成不支持函数“pchip”。请参阅 coder.extrinsic 的文档,了解如何在仿真中使用此函数。

谁能帮帮我?我真的需要在 C 中为我正在编写的程序转换这个函数。

【问题讨论】:

    标签: c matlab matlab-coder


    【解决方案1】:

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

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

    所以,请检查您是否满足前面的几点;尤其是最后一个。您在文档中提供了有关如何生成/取消生成 picwise 多项式的示例。

    【讨论】:

    • 在 R2014a mathworks.com/help/coder/release-notes.html 中添加了对 pchip 的代码生成支持,因此如果您使用的是之前的版本,您可以考虑升级。
    • 非常感谢 libill39 就是这样!该解决方案正在升级到 r2014。
    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2011-03-27
    • 2017-08-13
    • 2023-03-27
    • 2014-05-21
    相关资源
    最近更新 更多