Defining Matlab function datatype input in Simulink
2 views (last 30 days)
Show older comments
Vlastimil Kriz
on 11 Jul 2019
Commented: Vlastimil Kriz
on 13 Jul 2019
Hello,
I have a problem to compile model with following part:
function [delayed_flag, counter] = delayed_flag(flag, counter_default, counter_prev)
if flag == true
if counter_prev == 0
delayed_flag = true;
counter = uint16(0);
else
delayed_flag = false;
counter = counter_prev - uint16(1);
end
else
delayed_flag = false;
counter = counter_default;
end
end
The problem seems to be that the 'counter_prev' input is treated as double, and I dont know how to force it to be uint16.
(Error: Data type mismatch. Output port 1 of 'xxx/Unit Delay2' is a signal of data type 'uint16'. However, it is driving a signal of data type 'double'.)
Thank your for help,
Vlasta
0 Comments
Accepted Answer
Fangjun Jiang
on 11 Jul 2019
In the MATLAB Funciton editor, click icon "Edit Data".
Or in Simulink, Ctrl+H to open Model Explorer, on the left column, navigate to the MATLAB function, find your data and specify the data type.
More Answers (0)
See Also
Categories
Find more on Simulink Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!