How i convert a phrase like;(_x_1, or %diff) into a valid matlab variable? That i need to create a function?

1 view (last 30 days)
How i convert a phrase like;(_x_1, or %diff) into a valid matlab variable?That i need to create a function? Im lost
RRN

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 3 Sep 2020
Edited: Fangjun Jiang on 3 Sep 2020
If just want to create a valid MATLAB variable name,
genvarname('_x_1')
genvarname('%diff')
matlab.lang.makeValidName('%diff')
  2 Comments
Steven Lord
Steven Lord on 3 Sep 2020
But then to assign a value to it you'd need to do something we don't recommend.
Since the question is marked with release R2020a, if you can use a table array the variable names in a table don't need to be valid MATLAB identifiers.
>> t = table(42, -999, 'VariableNames', ["_x_1", "%diff"])
t =
1×2 table
_x_1 %diff
____ _____
42 -999
Retrieving those variables from the table requires a very slightly different approach than if the variable names were valid MATLAB identifiers.
>> y = t.('%diff') % The parentheses are required in this case
y =
-999

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Identification in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!