MATLAB Answers

Multiplying a string with 1 or 0

4 views (last 30 days)
Check_B = 0; % checks if condition for B is satisfied
string = strcat('A', Check_B*'+B')
I want to be able to add one string to another only if a condition is satisfied, without making an if statement or switch statement.
If Check_B = 0, ('+B') will not be added, otherwise it will be.
The code provided works, however it gives a warning.
Is there a cleaner way to do the same? (I believe this is possible in Python for example)


Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 9 Dec 2019
Edited: the cyclist on 9 Dec 2019
Here is one way:
c = ['A', repmat('+B',Check_B)];
Be aware that you are actually working with character arrays, not strings.

  1 Comment

Adam on 9 Dec 2019
And also, that by naming your variable 'string' you are hiding the actual string functionality of Matlab by your variable, which is never a good idea.

Sign in to comment.

More Answers (0)