How to define vector 'x' symbollically?

2 views (last 30 days)
Dhiraj R
Dhiraj R on 10 Feb 2017
Commented: Karan Gill on 13 Feb 2017
So, that its elements x(1), x(2), x(3) etc.. could be used later in script.
  1 Comment
Karan Gill
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?

Sign in to comment.

Answers (1)

Rik
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
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' ']'

Sign in to comment.

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!