Matlab (естественно) не выполняет символьные вычисления - это то, что пытается сделать ваш код.Переменные в Matlab должны быть конкретными числами, массивами или структурами и т. Д. Они не могут быть просто заполнителями для произвольных чисел.
(UNLESS: для Matlab используется набор инструментов для символических вычислений *1004*. IЯ действительно не использовал это, потому что я предпочитаю выполнять символические вычисления в таких средах, как Maple или Mathematica. Вы могли бы даже решить свою проблему на веб-сайте Wolfram Alpha)
Но если вы выберете определенное значение s, вычислениято, что вы хотите, легко:
s = 5;
a=[.4*s+s+5 -5; -5 .5*s+5];
c=[3/s; 3/(2*s)];
b = s*(a\c);
Где я использовал оператор обратной косой черты для выполнения линейной инверсии.
Теперь у вас должно быть, что
(1/s)*a*b-c
- это нулевой вектор.
РЕДАКТИРОВАТЬ: Я посмотрел на символическую панель инструментов.Похоже, что это то, что вы хотите (но вам нужно иметь лицензированный набор инструментов и установить его для работы):
syms s;
a=[.4*s+s+5 -5; -5 .5*s+5];
c=[3/s; 3/(2*s)];
b = simple(s*(a\c))