Programmatically change MATLAB Fcn Block Function Configuration Script
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Paul
le 27 Avr 2023
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 commentaires
Plus de réponses (1)
Aaryan
le 9 Mai 2023
how to add a new function to the same block?
like function x = fcn(u,v)
0 commentaires
Voir également
Catégories
En savoir plus sur Interactive Model Editing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!