Решатель MATLAB выдает пустой вектор

#matlab #solver

#matlab #решатель

Вопрос:

Я получаю неожиданное поведение, и я не уверен, с чего начать.

У меня есть простой многочлен

20/[(s(s 1)]

и мне нужно заменить s на , взять его абсолютное значение, преобразовать его в dB , а затем решить для ω , установив это равным известному значению.

 syms w

Omega = double(solve(20*log10(abs((20)/(1i*w*(1i*w 1)))) == -desired_db, w));
 

Тем не менее, когда я решаю его, я получаю результаты, которые я не могу понять. Он говорит, что это вектор пустого столбца. По словам нашего профессора, ответ должен быть около 6.7

Есть мысли?

Комментарии:

1. Для какого значения вы используете -desired_db ?

2. Является ли omega вещественным числом? В этом случае вы можете попытаться построить функцию 20*log10(...) и посмотреть, ведет ли она себя так, как ожидалось

3. Вы также можете попробовать добавить , 'Real', true аргументы для решения функции