MATLAB Answers

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

2 views (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)

Community Treasure Hunt

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

Start Hunting!