На самом деле, нет пути.
sym('0')
создает символическую константу (в данном случае 0). subs()
заменяет все переменные на каждое значение из данного вектора. Однако у вас нет переменных, поэтому subs()
просто возвращает заданную символическую константу.
Становится лучше. sym()
внутренне делает некоторое упрощение, поэтому sym('0*x')
или sym('x-x')
оба становятся sym('0')
, и вы получаете точно такое же поведение. Точно так же sym('x/x')
превращается в sym('1')
, и вы просто возвращаете скаляр 1 от subs()
, даже если передаете ему вектор.
Единственный способ обойти это - написать вспомогательную функцию, которая определяет, меньше ли size()
выходных данных subs()
, чем вектор, и превращает ее в правильный размер вектора если нужно.