万博1manbetx从一个外部函数获得属性模型:错误

9的观点(30天)
我运行一个函数在matlab仿真软件模拟模式块包含fa万博1manbetxctorGraph作为外在功能(下面的代码)。
[NumNodes, NumFactors] =大满贯();
函数[NumNodes, NumFactors] =大满贯()
coder.extrinsic (“factorGraph”,“addFactor”,“factorTwoPoseSE2”);
G = factorGraph;
fctr = factorTwoPoseSE2([1 - 2],测量= [0 0 0]);
addFactor (G, fctr);
NumNodes =双(0.0);% #好< NASGU >
NumFactors =双(0.0);% #好< NASGU >
NumNodes = G.NumNodes;
NumFactors = G.NumFactors;
结束
但是我不能提取factorGraph并得到以下错误的属性在matlab(它没有问题):
试图从“mxArray”提取字段“NumNodes”。
试图从“mxArray”提取字段“NumFactors”。
我发现:
有关,但他们的建议并没有导致成功。

接受的答案

佳娜
佳娜 2023年3月1日
你好,
看来问题是相关类的输出的一个外在功能,特别是“mxArray”类型的我。e MATLAB数组 唯一v 有效的操作 mxArray” 将其存储在一个变量中,传递到另一个外在功能,或返回到MATLAB。在执行任何其他操作 mxArray” 值,例如表达式中使用它在你的代码中,您必须转换 mxArray” 到一个已知类型在运行时。执行此操作,分配 mxArray” 一个变量,其类型已经由之前的任务。 我已经看到,在您的代码中有preinitialized NumNodes NumFactors,所需的输出类型,但这里‘G’也是类“mxArray”,所以你不能使用的访问“factorGraph”属性。的操作。
但话又说回来,你不能直接使用“factorGraph”在“MATLAB功能块”,因为它不支持代码生成“factorGraph”。万博1manbetx这将是一个僵局,所以我建议你找到另一种方法来创建自定义块功能模型。万博1manbetx
请参考这个文档,寻找最好的方法在模型仿真软件MATLAB代码合并到一块万博1manbetx
对于理解MATALB功能块的工作,请参考
为进一步协助您可以参考,
希望这可以帮助!

更多的答案(0)

s manbetx 845


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!