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 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by