PopovIgor> В районе максимума высоты получается пила. Почему? Это правильно? Функция по идее должна быть гладкой.
Хороший вопрос!
В принципе я уже касался этой темы, но, видимо, тогда было не актуально.
Функция безусловно гладкая. По жизни.
В файле - пила. Причем не только в зоне максимума, но и вообще - на всем протяжении.
Именно поэтому я не смог реализовать в файле автоматическую оптимизацию параметров ракеты.
Это погрешность выбранного метода расчетов.
Как все (кто лазил в файл) заметили, мы просто интегрируем вычисляемые параметры с заданной частотой дискретизации. Причем внутри периода дискретизации фиксируем все входные данные на уровне имеющемся на начало периода и считаем их неизменными. То есть мы апроксимируем гладкую функцию прямоугольниками. Таким образом, каждый шаг генерирует погрешность вычисления, которая постепенно накапливается.
Если я правильно понимаю, зависимость высоты от воды - это частная производная исходной функции.
При изменении входных данных накопление погрешности происходит несколько иначе, что дает флуктуации экстремума.
Ситуация усугуб** переходными процессами. Сход с направляющей, окончание воды, окончание воздуха, разделение ступеней - каждый из этих процессов сопровождается существенным изменением характеристик полета. В пределах периода в котором происходит это изменение, оно не может быть учтено. При изменении начальных данных (например, объема воды), время наступления переходного процесса внутри периода меняется - погрешность "гуляет". И хотя перед наступлением таких переходных процессов корректируется частота дискретизации, это позволяет лишь снизить погрешность, но не избавиться от нее. Это фундаментальное свойство выбранного метода вычислений.
Также для уменьшения погрешности при быстротекущих процессах (пневмовыхлоп) частота дискретизации увеличивается в десять раз.
Повысить точность вычислений можно путем уменьшения периода дискретизации (ячейка С22) пропорционально увеличив длину таблицы
.
Для иллюстрации сказанного привожу графики.
Синий - график с Т=0,01 сек. И его линия тренда.
Зеленый - график с Т=0,005 сек. И его линия тренда.
Красный - график с Т=0,01 сек с более частыми замерами.
В итоге происходит интересная ситуация (возможно, это частный случай): в результате увеличения периода дискретизации погрешность уменьшает результат (тренд ниже), а погрешность в экстремуме - дает выброс вверх (всегда - на то он и экстремум). В результате происходит взаимная частичная компенсация погрешностей. И погрешность определения собственно экстремума - невелика (порядка 0,2 - 0,3 м, что меньше погрешности высотомера).
Поиск методом итерационного приближения при оптимизации по воде дает погрешность приводящую к потере примерно 0,8 м высоты (0,5%).
Предлагаю пока принять следующие погрешности вычислений:
Для экстремума - 0,15%
Для произвольного значения - 0,7%
Для оптимизации по воде - 0,5% при нахождении первого экстремума последовательным приближением.