What is the function behind renaming Simscape Blocks in the Simscape Results Explorer?

1 回表示 (過去 30 日間)
Hello I have created a script in Matlab making analyses and calculations out of Simulink/Simscape simulation by reading the 'simlog' variable. The problem is, that the Simscape Blocks are renamed in the structure of 'simlog' in the same way, as they are renamed in the Simscape Results Explorer. For instants 'Chamber 5' is renamed to 'Chamber_5'. Ok this is a easy example, which could be solved by replacing ' ' with '_'. But '1.1 - 1.2' is replaced by 'x1_1_1_2'. Now is my question, what is the function behind this renaming process? How can find out, which name my component will get in the 'simlog' variable. Thanks in advanced Cedric

採用された回答

Sebastian Castro
Sebastian Castro 2015 年 8 月 20 日
The rules that come into play here are not that bad, and all due to MATLAB's restrictions on variable names
  1. Non-alphabetic characters like spaces and dots get converted to underscores, which ARE allowed in MATLAB.
  2. Variable names cannot start with a number, so if your block starts with one then it appends an "x" in front of it.
I'd recommend keeping the block names simple, and using Block Annotations to add any fancy numbers and other characters.
- Sebastian
  1 件のコメント
Cedric Götze
Cedric Götze 2015 年 8 月 20 日
This little code solves the replacement:
simscape.logging.sli.findNode(simlog,'1.1 - 3.2').id
But still thank you for your help!

サインインしてコメントする。

その他の回答 (1 件)

Steven Lord
Steven Lord 2015 年 8 月 20 日
Variable names in MATLAB must start with a letter. That string looks like it was created using matlab.lang.makeValidName or perhaps genvarname.
  1 件のコメント
Cedric Götze
Cedric Götze 2015 年 8 月 20 日
Yes, you are right. Thank you
S = {'a%name', 'name_1', '2_name'};
N = matlab.lang.makeValidName(S)
This code is also a solution, but in my case i prefer the one at the answer above!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating Custom Components and Libraries についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by