ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


ЭТАП 4. Создание формы с элементами управления

Label: Name – Label1
CommandButton: Name - CmdClr
TextBox: Name - TextN
TextBox: Name - TextX
Label: Name - LabelX
Label: Name - LabelN
TextBox: Name - TextY
Label: Name - LabelY
Label: Name – Label2
CommandButton: Name - CmdExit
CommandButton: Name - CmdSolve


Последовательность создания формы с элементами управления

1. Запускаем программу Microsoft Excel

2. Запускам встроенный редактор VBA: Сервис à Макрос à Редактор Visual Basic

3. Добавляем пользовательскую форму: Insert à UserForm

4. Задаем свойства формы в окне Properties (если данное окно отсутствует, то нужно нажать функциональную клавишу F4):

NameLaba4,

Caption – Лабораторная работа № 4. Метод Лагранжа

5. Добавляем элементы управления Label и TextBox, и задаем их свойства. Например,

- для переменной n:

NameTextN

- для переменной x1:

NameTextX

- для переменной y1:

NameTextY

6. Добавляем кнопки CommandButton и задаем их свойства. Например,

- для кнопки Вычисление:

NameCmdSolve, Caption – Вычисление

- для кнопки Очистка:

NameCmdClr, Caption – Очистка

- для кнопки Выход:

NameCmdExit, Caption – Выход


ЭТАП 5. Написание обработок событий

В созданной пользовательской форме три кнопки, следовательно, к каждой из этих кнопок необходимо написать процедуру обработки ее нажатия. Для написания обработки события «нажатия мышкой» необходимо в режиме добавления элементов управления щелкнуть дважды мышкой по соответствующей кнопке.

Для кнопки «Очистка» необходимо:

1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано:

2. Написать код процедуры очистки всех элементов управления TextBox (в нашем случае это три элемента – TextN, TextX и TextY):


Для кнопки «Выход» необходимо:

1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано:

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


Для кнопки «Вычисление» необходимо:

1. Произвести двойной щелчок по кнопке, появится окно Кода формы и в нем будет уже написано:

2. Написать код процедуры согласно составленной выше блок-схеме, т.е. код программы примет вид:

Как уже отмечалось ввод значений переменных xi, yi происходит с листа Microsoft Excel, поэтому для ввода используется функция Cells(номер строки, номер столбца). В примере для ввода с лист Microsoft Excel в код программы добавлены строки выделенные рамкой. Следует, обратить внимание, что в начале кода программы присутствует описание всех простых переменных.

ЭТАП 6. Запуск программы, получение и проверка результатов

1. Для запуска программы необходимо нажать кнопку Run

2. В появившейся форме заполнить ИСХОДНЫЕ ДАННЫЕ: n, x

3. В появившейся форме нажать кнопку Вычисление, при этом значение y выведено в текстовое поле TextY.

4. Проверка правильности полученных "некоторых" результатов:

Многочлен Лагранжа считается в точке x = 6, следовательно y должен быть достаточно близким к табличному значению при , а именно y = 148,84, при этом несколько меньше его. Что подтверждается расчетом при x = 6 результат будет y = 143,9987.


ЛАБОРАТОРНАЯ РАБОТА № 5
Тема: «Численное решение нелинейных уравнений в среде VBA»

Цель: Получение навыков решения нелинейных уравнений различными методами с применением языка программирования VBA.

Ход работы

1. Определить количество промежутков изоляции корней уравнения.

2. Создать форму пользователя в среде VBA для реализации методов решения нелинейного уравнения (методы половинного деления, итераций и Ньютона). Исходные данные взять из условия задания.

3. Ввод исходных данных реализовать из текстового поля формы.

4. Результаты вычислений вывести в форму (текстовое поле или комментарий).

5. Сделать проверку методов (точность вычисления ).

6. На основании полученных результатов сделать анализ методов.

7. В отчете представить:

a) аналитическую подготовку для реализации метода решения нелинейного уравнения;

b) блок-схему алгоритма;

c) листинг всех процедур и функций;

d) заполненную исходной информацией и результатами расчетов форму пользователя с указанием всех задействованных элементов управления и их основных свойств: имени, заголовка, значения, начального значения и т.п.;

 

Теоретическая часть.

Численное решение нелинейных уравнений фактически сводиться к двум этапам:

1. Отделение корней

2. Уточнение корней.

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

Уточнение корней может происходить на основе применения одного из трех методов.

1. Метод половинного деления. Заданный отрезок делиться пополам и из двух отрезков и выбирают тот, на концах которого функция принимает значения разных знаков.

2. Метод итераций. Заданное уравнение представляется в виде , где |f’(x) | ≤ q < 1 для всех x Î [a, b]. Далее на отрезке выбирается произвольная точка – первое приближение, а затем вычисляются:

, , ,

до тех пор, пока , где ε заданная погрешность вычисления корня уравнения

3. Метод Ньютона(касательных). Заданное уравнение представляется в виде , где |f’(x) | > 1 для всех x Î [a, b]. Далее на отрезке выбирается произвольная точка – первое приближение, а затем вычисляются:

, …,

до тех пор, пока , где ε заданная погрешность вычисления корня уравнения

 

Пример решения задания

Задание

С использованием метода половинного деления решить нелинейное уравнение вида:

.

Решение поставленной задачи

ЭТАП 1. Отделение корней

Для начала необходимо определить промежутки, на которых находиться только один корень, например средствами MS Excel для построения графика функции . Для этого на листе MS Excel необходимо построить таблицу значений и (рис. 5.1). Интервал значений выбирается произвольно исходя из характера графика.

1. Выделить ячейку внутри таблицы (например В6):

2. Выполнить:

§ Вставка à Точечнаяà Точечная с гладкими кривыми (для Microsoft Word 2007 или 2010);

§ Вставка à Диаграмма à Точечнаяà … (для более ранних версий).

 

Рис 5.1. Окно Excel. Построение графика функций.

Согласно построенному графику функция пересекает ось Ох несколько раз, соответственно уравнение будет иметь несколько корней. Например на отрезках: , , … , , , … . При этом следует отметить, что на отрезке возможно наличие двух корней или их отсутствие, т.к. построенный график не дает возможности однозначно утверждать об этом. Для ответа на этот вопрос необходимо рассмотреть значения функции на этом отрезке с меньшим шагом, например 0,2.

В качестве отрезка, на котором будет происходить определение (уточнение) корня выберем отрезок (согласно графика и таблицы).


© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти