редактировать: я добавил изображение с примером к функции ошибки
У меня есть функция и приближение к этой функции. Я вычисляю разницу между ними и пытаюсь найти корни функции ошибок. Позже я использую итеративный алгоритм, поэтому часть вычисления корней должна быть очень точной.
Я пытался использовать функцию fzero()
, но во многих случаях она упускала некоторые корни, так что теперь я делая это:
multi_err_with_shifted = error_vals.*circshift(error_vals,-1,2);
x_vals_near_zeros_temp = x_for_plotting(multi_err_with_shifted <= 0);
Проблема с этим методом заключается в том, что я получаю большое количество корней, а затем мне нужно удалить дубликаты, которые также вызывают проблемы, и иногда я удаляю истинные root.
Есть ли у кого-нибудь хорошая и простая идея, как мне легко найти корни?
Примечания:
- Я не могу использовать
root()
в Matlab, потому что моя функция ошибок не является обязательной полиномиальной, и если это так, я не знаю ее представления. - Итерационный алгоритм, который я пытаюсь реализовать, - это Remez
- Я не могу использовать обмен файлами