Output type definition for extrinsic function (polyxpoly) in Simulink
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I'm needing to use an extrinsic function in an embedded matlab block in simulink (polyxpoly).
My problem is that the output of this function is an x by 2 array where x varies. I am therefore unable to define the output type without getting an mxarray error.
How can I make use of this function in a simulink matlab function block?
0 个评论
采纳的回答
Kaustubha Govind
2013-8-16
编辑:Kaustubha Govind
2013-8-16
Since the Embedded MATLAB block uses static memory allocation, it cannot handle variables that change size dynamically. What you can do is declare your output as variable-sized while specifying an upper bound for the size.
function y = myfun(x)
coder.varsize('y', [1024 2]); %x must never exceed 1024
coder.extrinsic('polyxpoly');
y = zeros(x, 2); %pre-declare the type and size of y
y = polyxpoly(x, other_args, ...);
1 个评论
Sharan Duggirala
2015-4-17
Hi,
During code generation, I keep getting the error -
' CODER.VARSIZE is not applicable to 'mxArray '. '
Has anyone encountered this/ know a way around this?
Here is a screenshot of the code generation error report :
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/182720/image.png)
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!