c++ - 在 Matlab simulink 中使用 C++ 库 (clibgen)
问题描述
我使用 clibgen.generateLibraryDefinition 为 C++ 库生成 Matlab 接口。我将它应用到 Matlab 函数中,效果很好。但是,当我尝试在带有 Matlab 功能块的 Matlab Simulink 中使用它时,它给出了错误“尝试从 'mxArray' 中提取字段 'i'。”这是我在 Simulink 中添加的任何内容吗?谢谢!
function cube = fcn(size_x, size_y, range_x_min, range_x_max, ...
range_y_min, range_y_max, power, ...
transmitter_height, receiver_height, ...
transmitter_position, frequency)
coder.extrinsic('clib.Wave.Wave.EMWave');
coder.extrinsic('clib.Wave.Wave.Index');
coder.extrinsic('clib.Wave.Wave.Vec2d');
coder.extrinsic('clib.Wave.Wave.Terrain');
coder.extrinsic('clib.Wave.Wave.Transimtter');
coder.extrinsic('clib.Wave.Wave.Source');
coder.extrinsic('clib.Wave.Wave.Cube');
coder.extrinsic('clib.Wave.Wave.Terrain');
coder.extrinsic('clib.Wave.Wave.Ray');
index = clib.Wave.Wave.Index;
radio_wave = clib.Wave.Wave.EMWave;
terrain = clib.Wave.Wave.Terrain(200,200,range_x_min,range_y_min,range_x_max,range_y_max);
index.i = 1;
index.j = 1;
% radio_wave.transmitter.set_power(1000);
% radio_wave.transmitter.set_height(150.0);
% radio_wave.transmitter.set_number_of_discrete_rays(7200);
%code.varsize('cube',[1 size_x],[1 size_y]);
cube = zeros(200,200);
end
解决方案
推荐阅读
- c# - input type="hidden" asp-for= 不适用于 List
- flutter - 构建函数返回 null,有问题的小部件是:StreamBuilder
- oracle - Oracle Apex 5 行页面
- c# - 成功运行后删除 Azure 数据工厂管道
- python - 如何让 pandas.Series.str.get_dummies() 报告 NaN?
- java - 如何在 Spring Boot 上修复 500 个服务器错误
- java - IntellJ 调试器:我可以始终在断点处自动应用表达式吗?
- java - 我需要使用 java 连接到谷歌云 mysql 但不使用 spring boot?
- reactjs - Datatables.net:使用 React Redux 更正服务器端分页
- http - 如何处理 HTTP 请求标头中的非 ascii 字符?