How to define vector 'x' symbollically?

So, that its elements x(1), x(2), x(3) etc.. could be used later in script.

1 Comment

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)

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

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.

Tags

Asked:

on 10 Feb 2017

Commented:

on 13 Feb 2017

Community Treasure Hunt

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

Start Hunting!