MATLAB Function block limitations
3 次查看(过去 30 天)
显示 更早的评论
I'm trying to implement MATLAB code into a MATLAB function block in Simulink which would need to do the following: parse data/text from a .INI file, extract data points, interpolate the input x of the MATLAB function block based on such data points and output y.
This block should be able to be compiled by the PLC Coder.
I wrote a MATLAB script that could do what I wanted, but as I tried to implement it in a MATLAB function block, I ran into all sorts of problems, from variable-size data, to functions not supported for code generation (already read a lot of documentation regarding these).
I'm wondering if this is the right approach to implement such functionality to a Simulink Model. I was expecting that whichever .m script I wrote to perform such functionality would work seamlessly in the MATLAB Function block. It doesn't seem to be the case. Is this the correct approach or will I perhaps have an easier time implementing this natively in Simulink with block logic, instead of the Function block, for example?
1 个评论
Saeed Ahmadzadeh Mahboobi
2020-11-19
I have also faced this Problem.
I wanted to even change the data type of the MATLAB-function from double to boolean (logical). So i wrote in the MATLAB-function " x = logical(k) ". but I get the error that changing the data types are not possible. but when i use the block " Convert " from the simulink library, it works !!
Apparently, MATLAB-Function has restrictions that won't let you work with them just like an m-file.
回答(1 个)
Jyotsna Talluri
2019-11-7
We can implement MATLAB code in simulink by S-Functions as the MATLAB Function block is not supported in all cases
Refer to the below link
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Event Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!