Рэйлвэй Каген (07.10.2010 15:43, просмотров: 140) ответил POV на Круто! Т.е. кода мне надо оценить наклон прямой, я не могу тангенс этого наклона хранить в переменной?!!!
Можно просто использовать структуру вида: typedef struct {
float value;
bool dsc_point;
} DSC_STRUCT;
и затем:
DSC_STRUCT kk;
.....
Прежде чем вычислять или читать kk.value, смотрим значение kk.dsc_point (заранее вычисленное или вычисляемое по месту - это уж как аффтару угодно). При использовании простой переменной для хранения значения Вы влетаете в исключение на ровном месте - когда аппроксимируемая функция постоянна на некотором участке. Если я правильно понял, то конечная цель - некая стабилизация давления(расхода?), и при достижении идеального результата происходит исключение(хотя при этом наклон аппроксимирующей прямой =0град). Фактически, представленный алгоритм работает только в окрестности точки разрыва.
Алтернативы, как всегда - две :)
1. полностью переписать процедуру без использования исключений, с учётом точек разрыва.
2. в секциях catch тупо устанавливать соответствующие флаги стабильности.
Прим.: п.2 = говнокод (имхо)