Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Private Sub CommandButton1_Click()

Лабораторная работа 3

Процедура «Подбор параметра». Создание макроса

Цель работы: Изучить методы поиска корней многочлена n -ой степени, освоить процедуру «Подбор параметра» в Excel, научиться создавать макросы.

Краткие теоретические сведения

Процедура «Подбор параметра»

Корнем уравнения Y(x)=0 называется такое значение x, которое при подстановке его в выражение для Y, обращает его в 0. Процедура «Подбор параметра» позволяет найти корень в окрестности заданной точки.

Для этого на рабочем листе необходимо расположить ячейку для переменной Х и поместить в нее произвольное значение. В соседней ячейке создать формулу для У: = a 0* x ^5 + a 1* x ^4 + a 2* x ^3 + a 3* x ^2+ a 4* x + a 5.

Эту формулу лучше записать, используя схему Горнера:

=((((a 0* x + a 1)* x + a 2)* x + a 3)* x + a 4)* x + a 5
что значительно увеличивает скорость вычисления.

 

Для нахождения корня и выполняем следующие действия:

1. Сервис à Подбор параметра

2. В появившейся форме «Подбор параметра»

                           

                   

         а) установить в ячейке           – щелкнуть по ячейке с формулой Y

         b) значени е                                 – ввести с клавиатуры 0.

         с) изменяя значение ячейки  – щелкнуть по ячейке со значением Х, нажать на OK

3. В форме найденного решения тоже нажать на OK.

 

На этом заканчиваются действия по нахождению 1 корня – его значение появится в ячейке для Х, в это время ячейка с формулой Y будет отличаться от 0 не более, чем 0,001. Значение вида 1,2Е-5 интерпретируется, как 1,2*10-5.

 

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

 

Создание макроса

Макросы служат для автоматизации работы в Excel и Word. Они позволяют запомнить Ваши действия и в дальнейшем автоматически повторять их необходимое количество раз.

Макрос – это последовательность действий, записанных на языке VBA и сохраненная под определенным именем. Перед записью макроса в автоматическом режиме нужно хорошо продумать последовательность действий, которые составят тело макроса. Для вызова макроса можно задать сочетание клавиш (горячие клавиши), но делать это надо осторожно, так как многие из них уже зарезервированы.

Этапы создания макроса в автоматическом режиме.

1. Создать заготовку для нахождения корней многочлена 5-й степени.

 

A

B C D

E

F

G

H

1

Y(x) =a0*x^5 + a1*x^4 + a2*x^3 + a3*x^2+a4*x+a5

Решить уравнение Y (x) = 0. При данных коэффициентах а i уравнение имеет пять вещественных корней.

 

2

a0

a1 A2 a3

a4

a5

x

Y

3

1

2 -15 -20

44

50

 

 

 

2. Записать макрос с помощью макрорекордера:

· Сервис -> Макросы -> Начать запись (появится форма «Запись  макроса»)

               

· В окне «Запись макроса» дать подходящее имя макросу

· В окне «Запись макроса» установить горячие клавиши, дать описание тому, что делает макрос и закрыть окно.

· Появиться панель (Остановить запись, Относит. ссылки)

· Действия (не делать лишних, так как все ваши действия записываются в виде кода VBA, который потом придется удалять!!!)

· Остановить запись (кнопка на панели или Сервис → Макрос → Остановить запись)

· Поправка макроса (см. ниже)

· Запуск макроса

3. Сравнить полученный макрос (просмотр Сервис -> Макросы -> Редактор Visual Basic) cо следующим:

Public Sub Реш_Уравн ()

'макрос ищет корень Y(X)= 0,только если Y - в H3, а X в G3

Range("H3").GoalSeek Goal:=0, ChangingCell:=Range("G3")

'чтобы в ячейку G4 можно было сразу ввести новое

'приближенное значение корня (если предыдущая попытка была

'неудачной или надо найти еще 1 корень)

'заранее выделим ячейку G3

Range (" G 3"). Select

End Sub

4. Поправить макрос (если нужно)

5. Найти с его помощью остальные корни (всего 5 корней), вводя в ячейку G3 новое (затравочное) значение Х и, после нажатия на Enter, запуская макрос горячими клавишами. Так как вычисление корней ведется с точностью 0,001, два корня считаются различными, если отличаются друг от друга более, чем на 0,002.  

6. Сохранить работу.

Выполнение макроса

Макрос можно выполнить несколькими способами:

1. Использование заданного при создании макроса сочетания клавиш.

2. Команда основного меню Сервис -> Макрос -> Макросы.....

3. Создание на рабочем листе командной кнопки и назначение ему макроса.

4. Создание графического объекта и назначение ему макроса.

5. Создание пользовательской панели инструментов.

 

Рассмотрим подробно 3-ий способ – создание командной кнопки.

Поскольку на данном листе Excel макрос будет запускаться много раз, необходимо поместить на лист кнопку для запуска макроса и написать код, запускающий макрос. В Excel 2003 для этого нужно щелкнуть правой кнопкой мыши вверху листа – в поле меню. В возникшем меню выбрать Visual Basic. В появившейся панели щелкнуть кнопку «Режим конструктора», а затем – кнопку «Элементы управления». В появившейся новой панели щелкнуть кнопку «кнопка». Курсор мыши изменится. Переместите курсор в удобное место, зажмите левую клавишу и нарисуйте кнопку. В новой панели щелкнуть кнопку                                   щелкнуть кнопку «Свойства». В появившейся панели «Properties» кнопку «изменить свойство Caption на, например, «Найти корень». Щелкнуть кнопку «Режим конструктора», погасив тем самым его.

 

Осталось связать щелчок по кнопке с запуском макроса Для этого

1. Запомните имя листа, где расположена кнопка – оно на ярлыке внизу.

2. Войдите в редактор Visual Basic

3. Выберите в списке слева лист с этим именем (оно - в скобках).

4. Щелкните по нему

5. В появившемся окне разверните мышью левую половину списка.

6.  Выберите в нем мышью CommandButton1, возникнет заготовка подпрограммы:

Private Sub CommandButton1_Click()

           End Sub

7. Для запуска макроса нужно между заголовком Sub и End Sub вставить имя макроса (имя Sub, в котором он описан).

8.  Найти 15 корней 3-х уравнений

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...