转换的论点“real_T *”在matlab“int”不可能的错误
3视图(30天)
显示旧的评论
你好,
我致力于将GPU编码器集成到模型。金宝app入口点函数我用状态空间方程。接下来我生成dll使用codegen和编码器定义。externalDependancy API来链接dll。接下来,我创建了一个仿真软件模型的金宝app状态空间方程。当我运行仿真软件模型,我得到以金宝app下错误:
转换的论点“real_T *”在matlab“int”不可能的错误
的代码生成dll是:-
一个= coder.typeof (0 (10000、10000), []);
b = coder.typeof (0 (10000、10000), []);
c = coder.typeof (0 (10000、10000), []);
d = coder.typeof (0 (10000、10000), []);
x = coder.typeof (0 (10000 1), []);
u = coder.typeof (0 (10000 1), []);
Ts =双(Ts);
Tr =双(Tr);
cfg = coder.gpuConfig (dll);
codegen args {a, b, c, d, x, u, Ts, Tr}配置cfg State_Space_Eqn
TS和TR是用户定义的输入。
TS和TR的转换,我得到这个错误。我认为我是定义Ts和Tr错误的代码生成。
你能帮我吗?
谢谢你!
接受的答案
Ram Kokku
2020年4月25日
嗨Bhushan,
你能提供一系列步骤,你跟着到达这一点呢?
从你的问题,
- 它看起来像代码生成工作和你能够生成DLL。
- 从仿真软件调用这个代码,您创建了一个coder金宝app.externaldependency
- 当你试图玩模型,你看到这个错误吗?
我的理解正确吗?如果是这样,我问你一些问题,
- 有多少输入你的功能块预计需要6到8吗?
- 你提到的TS和TR在MATLAB工作区,你想访问这些从仿真软件MATLAB变量或者您正在创建输入金宝app
- 错误似乎是来自一些类型转换real_T * int.这将发生如果功能块是用错误的类型,或一个类型的变量不是事先声明,编译器做了一个假设的类型
这将解决你的问题更容易如果你能分享你的代码——只是外部依赖性实现和你在仿真软件中使用这一块。金宝app