#matlab #solver
#matlab #решатель
Вопрос:
Я получаю неожиданное поведение, и я не уверен, с чего начать.
У меня есть простой многочлен
20/[(s(s 1)]
и мне нужно заменить s
на jω
, взять его абсолютное значение, преобразовать его в 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
аргументы для решения функции