How to define vector 'x' symbollically?
2 views (last 30 days)
Show older comments
So, that its elements x(1), x(2), x(3) etc.. could be used later in script.
1 Comment
Karan Gill
on 13 Feb 2017
Why do you need a symbolic vector "x"? Is the answer good enough or do you need what Walter describes?
Answers (1)
Rik
on 10 Feb 2017
A = sym('a', [1 20])
A =
[ a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,...
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20]
If you need a dynamic length of the vector you can't use this, but I don't think that's even possible in Matlab.
1 Comment
Walter Roberson
on 10 Feb 2017
You are correct, you cannot have dynamic lengths of symbolic vectors in MATLAB. MATLAB does not really have subscripted symbolic variables: it has vectors that happen to contain symbols and you do normal numeric indexing.
For example, in what Rik shows, A(2) contains the individual symbol sym('a2'), rather than containing "A indexed at 2".
This is different than Mathematica or Maple, which do allow symbols to be subscripted, so for example in Maple you can have A[2] without A having been given any value; Maple knows it as an indexed symbol rather than symbol with a name that happens to be literally 'A' '[' '2' ']'
See Also
Categories
Find more on Symbolic Math Toolbox 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!