SimulinkのGoto/Fromのタグ名を一括変更する

サブシステム・ブロックをコピーしたら、Goto/Fromタグ名がダブってしまった、なんてことはよくあることかも知れません。

特定のブロックのGoto/FromタグをMATLABスクリプトで一括変更する例をメモしておきます。

基本形は以下のようなスクリプトになると思います:

%%
modelName = "RootModel/blockPath";
blockPaths = find_system(modelName, 'RegExp', 'on','BlockType', 'Goto|From');

pathNum = numel(blockPaths);
%%
goto_suffix = "_fuga";
for ii = 1:pathNum
    blockName = blockPaths{ii};

    oldVal = get_param(blockName, 'GotoTag');
    newVal = oldVal + goto_suffix;
    set_param(blockName, 'GotoTag', newVal);
end
%%

find_systemで正規表現を有効にして、GotoとFromを一括して処理しているのがミソかも。

上記は基本形です。場合に応じて、適宜追加の処理を加えれば良いでしょう。