Примеры программирования
В этих примерах надо обратить внимание на два момента. Первый – возможность применения оператора on error вне программного блока для задания функции y(x)=sin(x)/x с исключительным значением 1 при х=0. Второй – применение этого оператора для решения уравнения, имеющего комплексные корни. Когда при таком решении задается действительное начальное приближение для х, то функция root(f,x) дает ошибку. Она исправляется с помощью оператора on error при задании функции RF(f,x), имеющей обработчик ошибок.
Задание программных модулей позволяет реализовать любые специальные приемы программирования и может служить мощным средством расширения системы путем задания новых функций.
Теперь рассмотрим достаточно сложный и поучительный пример применения программного блока. На рис. 12.12 показан документ, в котором программный модуль вычисляет коэффициенты Фурье для заданной функции – пилообразного импульса (его можно менять).
Рис. 12.12. Вычисление коэффициентов А и В разложения функции в ряд Фурье
Тут вычисление коэффициентов ряда Фурье выполнено по их классическим интегральным представлениям. Это хорошо иллюстрирует возможность применения в программных блоках весьма мощных средств входного языка системы. Продолжение этого документа, реализующее гармонический синтез, представлено на рис.12.13.
На рис. 12.13 показаны векторы коэффициентов, приведена формула гармонического синтеза исходной функции по ее гармоническому ряду и на графике проведено сопоставление исходной функции с ее представлением рядом Фурье с ограниченным числом гармоник N.
Рис. 12.13. Реализация гармонического синтеза