How do you multiply the letter "a" by 3?

a =
'x'
>> a*3
Undefined operator '*' for input arguments of type 'cell'.
The result I want to achieve: 3*x

5 Comments

the cyclist
the cyclist on 1 Sep 2017
Edited: the cyclist on 1 Sep 2017
Do you mean that you have a symbolic variable a, and you now want the symbolic variable 3a?
Or do you mean that you have the alphabetic character 'a', and now you want 'aaa'?
Either way, why is your variable stored in a cell array? You might want to explain in more detail what you have, and what you want. This is not Twitter, so please feel free to use more than 140 characters to explain what you are trying to do.
:-) Cute. "3a" is a creative reaction to "please feel free to use more than 140 characters to explain what you are trying to do".
Given
a = 'x'
and
>> a*3
Undefined operator '*' for input arguments of type 'cell'.
and the statement "The result I want to achieve: 3*x", what is x supposed to be? Is this a reference to something else?

Sign in to comment.

Answers (4)

Perhaps you do not want a symbolic calculation but a string manipulation.
c = {'a'}
b = sprintf('%d%s', 3, c{1});
the cyclist
the cyclist on 1 Sep 2017
Edited: the cyclist on 1 Sep 2017
If you have a character array and you want to replicate it, use repmat:
repmat('a',1,3)
If you are trying to multiply a symbolic variable, then you should just be able to use mtimes as you have done. But why is your symbolic in a cell array?
Multiplying a cell array by a number is not defined, regardless of what the cell in the cell array contains. So something like 3*{'a'} will error.
Multiplying a char array by a number is defined, but it will not do what you're trying to do. Since the ASCII value of 'a' is 97 (which you can find using the command double('a')) computing 3*'a' returns 291 (= 3*97).
If you have Symbolic Math Toolbox, define a to be a symbolic variable then multiply that symbolic variable by 3 to do what you're trying to do.
syms a
y = 3*a
You can check if you have Symbolic Math Toolbox installed by looking for it in the output of the ver function.

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Tags

Asked:

on 1 Sep 2017

Edited:

on 1 Sep 2017

Community Treasure Hunt

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

Start Hunting!