Hi, I would like to know if there's a way to create n differente symbolic variables (n is an input). Thank's in advanced

 Accepted Answer

madhan ravi
madhan ravi on 25 Oct 2018
Edited: madhan ravi on 25 Oct 2018
EDITED
n=input('value of n?')
syms(sym('a',[1 n]))
a=(sym('a',[1 n])) %storing symbolic variables in a vector for convenience and also to use indexing
command window displays:
value of n?10
n =
10
a =
[ a1, a2, a3, a4, a5, a6, a7, a8, a9, a10]
>> a(1:6)
ans =
[ a1, a2, a3, a4, a5, a6]
>>

9 Comments

The above shows an example of creating n symbolic variables
madhan ravi
madhan ravi on 25 Oct 2018
Edited: madhan ravi on 25 Oct 2018
If it’s what you want accept the answer so other people know the question is solved else let know
Note that this creates a single variable, A, that contains a vector of symbolic expressions that refer to symbolic variables that live in the symbolic engine, same as if you had done
A = [sym('A1'), sym('A2'), sym('A3'), ... sym('A20')];
The code does not create variables A1, A2, A3, ... A20 at the MATLAB level. You will not see them in the workspace; you will only see A in the workspace.
If you need to create them at the MATLAB level, then chances are that you should be coding differently.
Yes sir I thought the OP asked to simply create variable to be used further in mathematical equations
Edited the answer sir Walter, thank you for pointing it out
syms(sym('a',[1 n]))
That does work to create the variables in the MATLAB workspace, but any time you are creating a variable number of variables in the MATLAB workspace you should stop yourself and ask if it is strictly necessary to do so, as there is almost always a better way.
Oh yes sir Walter didn’t think of it actually thank you once again
Sorry for the late, thank you so much for your help!
Anytime :)

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!