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)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!