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

 採用された回答

madhan ravi
madhan ravi 2018 年 10 月 25 日
編集済み: madhan ravi 2018 年 10 月 25 日

3 投票

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 件のコメント

madhan ravi
madhan ravi 2018 年 10 月 25 日
The above shows an example of creating n symbolic variables
madhan ravi
madhan ravi 2018 年 10 月 25 日
編集済み: madhan ravi 2018 年 10 月 25 日
If it’s what you want accept the answer so other people know the question is solved else let know
Walter Roberson
Walter Roberson 2018 年 10 月 25 日
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.
madhan ravi
madhan ravi 2018 年 10 月 25 日
Yes sir I thought the OP asked to simply create variable to be used further in mathematical equations
madhan ravi
madhan ravi 2018 年 10 月 25 日
Edited the answer sir Walter, thank you for pointing it out
Walter Roberson
Walter Roberson 2018 年 10 月 25 日
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.
madhan ravi
madhan ravi 2018 年 10 月 25 日
Oh yes sir Walter didn’t think of it actually thank you once again
one plus one is two
one plus one is two 2018 年 11 月 20 日
Sorry for the late, thank you so much for your help!
madhan ravi
madhan ravi 2018 年 11 月 20 日
Anytime :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by