Programmatically change MATLAB Fcn Block Function Configuration Script
3 次查看(过去 30 天)
显示 更早的评论
I'm hoping to programmatically change the Function Script for a MATLAB Fcn Block
currentScript = 'function y = fcn(u, value)';
config = get_param(mFcnBlock, 'MATLABFunctionConfiguration');
config.FunctionScript = currentScript;
My code is as shown above, and this works as intended. The result is:
function y = fcn(u, value)
How would I change the currentScript to be the following?
function y = fcn(u, value)
switch u
case true
y = value;
case false
y = 0;
otherwise
y = nan;
end
I've tried several ways, but the function script almost always ends up as the following:
function y = fcn(u, value,switch,ucase,truey, value1,case,false,y, otherwise, y1, nan,end)
Thanks!
0 个评论
采纳的回答
Paul
2023-4-27
Hi Aarish,
This worked for me.
config = get_param(gcb,'MATLABFunctionConfiguration'); % Matlab Fcn block selected in Simulink diagram
new_script = ...
"function y = fcn(u, value)" + newline + ...
"switch u" + newline + ...
" case true" + newline + ...
" y = value;" + newline + ...
" case false" + newline + ...
" y = 0;" + newline + ...
" otherwise" + newline + ...
" y = nan;" + newline + ...
"end";
config.FunctionScript = new_script;
If you don't mind me asking, what is the use case for wholesale change of the function code progrmatically?
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Model Editing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!