MATLAB: How to sum the elements of a symbolic vector


I have a symbolic vector X = [1, x1, x2, x1^2, x2^2, x1*x2], where x1 and x2 are symbols. I want to sum the vector so that it looks like: SUM = 1 + x1 + x2 + x1^2 + x2^2 + x1*x2, that is, in the same order as in X. When I do SUM = sum(X), it gives: SUM = x1^2 + x1*x2 + x1 + x2^2 + x2 + 1.
It is possible by converting X into char first, and then replace the comma (,) by a plus (+). But I wonder if there is an easy way to do this.
Thanks in advance.

Best Answer

  • syms x1 x2
    X = [1, x1, x2, x1^2, x2^2, x1*x2],
    for k=2:numel(X)
    out=[out '+' char(X(k))]