русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Пояснения. Суть используемого численного метода


Дата добавления: 2015-01-16; просмотров: 519; Нарушение авторских прав


 

Корень локализован в интервале поиска [a,b]. Условие локализации: корень в интервале единственный и значения функции на концах интервала имеют разные знаки (произведение этих значений меньше ноля).

В процессе поиска на каждом шаге последовательного приближения к корню (на каждой итерации) из интервала поиска выделяется половина, содержащая корень. Условием этого является наличие разных знаков значений функции на левой границе интервала поиска и в его середине (в середине интервала берется пробная точка, делящая его пополам, отсюда происходит содержательное название метода – “деление отрезка пополам”).

Основным условием окончания процесса поиска является сокращение длины интервала поиска до задаваемой малой величины, определяющей допустимую погрешность вычисления корня (например, 0,01).

Дополнительным условием окончания процесса поиска служит равенство нолю значения функции в пробной точке (в центре интервала поиска), когда длина интервала еще большая.

Алгоритм метода поиска корня формально описан во вспомогательной подпрограмме с именем “Расчет”.

При записи в подпрограмме оператора цикла Do…Loop со служебным словом While (пока), помещенным в начале, составное условие для входа и продолжения цикла должно быть истинным, когда длина интервала поиска и значение функции в пробной (центральной) точке больше допустимой погрешности. Такое соединение условий реализуется логической операцией “And” (“и”).

Нарушение хотя бы одного из указанных выше условий входа в цикл обращает составное условие в ложь и приводит к выходу из цикла. А если в самом начале пробная точка окажется в точке корня, то входа в цикл не будет.

Последняя ситуация (нет входа в цикл) приводит к неопределенности динамического массива с именем “mas”, содержащего приближения к корню (координаты центральных точек интервала поиска) и наращиваемого по длине по мере надобности (количество элементов определяется счетчиком N). Если не было входа в цикл (N=0), то искусственно массив формируется из одного элемента, которому передается значение координаты первой пробной точки, являющейся точкой корня.



Динамический массив “mas” определяется в два этапа: сначала в инструкции “Dim” с помощью двух подряд круглых скобок (открывающей и закрывающей), помещаемых после имени массива, принципиально объявляется массив; далее в цикле с помощью инструкции “ReDim” (Return Dimension – возврат к определению размерности) задаются границы нумерации элементов массива. Служебное слово “Preserve” является обязательным, без этого слова значения элементов массива не сохраняются в памяти.

В подпрограмме “Расчет” (в самом ее начале) проверяется условие локализации. В условном операторе, выполняющем эту проверку, фигурирует обратное условие. Если оно истинно, то выводится соответствующее сообщение и выполняется выход (Exit) из подпрограммы. А перед этим величине “x” (переменной универсального типа Variant, соответствующей фактическому параметру “корень”, присваивается значение некоторой символьной константы (символы помещаются в кавычки, например, “???”; возможна пустая строка – двое кавычек (открывающих и закрывающих) подряд; тогда на форме проекта поле значения корня будет пустым). Если бы определить формальную переменную “x” и соответствующую ей в главной подпрограмме фактическую переменную “корень” как числовую, а при отсутствии корня в интервале поиска не присвоить этой переменной никакого значения, то в поле вывода автоматически был бы вывод значения “0” (ноль), что не соответствует истине.

Дополнительно в данный проект включена возможность наблюдать за процессом последовательных приближений к корню. Для этого в подпрограмме расчета накапливается упомянутый выше массив “mas”. В конце данной подпрограммы этот массив передается на форму в списковое поле с именем “List1” (стандартное имя ListBox). В программу еще включена возможность отображать на форме значения функции при отдельных значениях приближений к корню. Это реализуется в подпрограмме с именем “List1”. Она выполняется при щелчке ЛКМ на выбранной строке в поле “List1”. Значение, отображенное символьно в строке, считывается и в преобразованном числовом виде передается как аргумент функции с именем “F”, определяющей выражение уравнения, а вычисленное значение функции выводится на форму в поле с именем “Text5”.

В качестве примера в данном проекте взято уравнение, выражающееся функцией f(x)=(x-1)^2-1 и имеющее два корня: x1=0 и x2=2.

В процессе работы следует выполнить 4 варианта поиска корня:

1) на интервале [1,6];

2) на интервале [1,3];

3) на интервале [3,6];

4) на интервале [-1,6].

Первые два варианта дают решение x=2. В варианте 3 нет решения, так как на заданном интервале корня нет. В варианте 4 также нет решения, но в данном случае так как на заданном интервале имеется два корня.

16. Завершить работу щелчком ЛКМ на пункте «Завершение сеанса <имя группы>».




<== предыдущая лекция | следующая лекция ==>
Программная реализация метода бисекции | Теоретическая часть


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.615 сек.