Читать методичка по Отсутствует: "Численные методы в визуальном программировании"


назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ

Кафедра прикладной математики МЕТОДИЧЕСКИЕ УКАЗАНИЯ

по курсу "Информатика"

для самостоятельной работы студентов

всех специальностей

ЧИСЛЕННЫЕ МЕТОДЫ

в визуальном программировании

ЧАСТЬ 3 Казань Составитель: И.Н.Гатауллин

УДК 621.313

Методические указания по курсу "Информатика" для самостоятельной работы студентов всех специальностей. Численные методы в визуальном программировании. Часть 3. /Казанский государственный архитектурно-строительный университет. Сост.: И.Н.Гатауллин. Казань, 2008. -35 с.

Методические указания состоят из трёх частей и предназначены для самостоятельной работы студентов всех специальностей и используются при выполнении лабораторных и контрольных работ по курсу "Информатика" на языке Visual Basic. В данной работе приводятся численные методы решения нелинейных уравнений, систем линейных и нелинейных алгебраических уравнений, дифференциальных уравнений, определенных интегралов, методы аппроксимации дискретных функций и методы решения задач линейного программирования.

Табл. нет, библиогр. назв. 8

Рецензент - Р.Б.Салимов, доктор физ.-мат. наук, профессор

© Казанский государственный

архитектурно - строительный

университет, 2008 г. 1. Численное решение нелинейных уравнений .1 Метод деления отрезка пополам Пример 1-1: Найти решение уравнения x3+x-1=0 c точностью e=0.001 методом деления отрезка пополам.

Решение: Работа выполняется в следующей последовательности:

. Запустить VISUAL BASIC. В окне New Project выбрать Стандартный.EXE вкладки New (новый) и кликнуть по кнопке «Открыть».

. На экране появится новый проект и форма Project1 - Form1 (Form), содержание которой нужно заполнить необходимыми компонентами, с помощью которых можно будет выполнить необходимые вычисления.

. Во-первых, необходимы элементы, которые будут использоваться для ввода данных A, B и E. Используем для этой цели элементы Text1, Text2 и Text3. Во-вторых, необходимы элементы, в которых будут отражены результаты вычисления xn и yn. Используем для этой цели элементы Text4 и Text5.

. Для оформления надписей для обозначения текстовых окон Text1, Text2, Text3, Text4 и Text5 можно использовать метки Label1, Label2, Label3, Label4 и Label5 соответственно.

. Чтобы процедура пользователя была доступна на всех формах приложения, ее текст можно записать в специальном окне Module - модуль приложения. Программный код такой программы будет храниться в файлах приложения с расширением *.bas.

Function fnf(x As Single) As Single = x ^ 3 + x -1

End Function

. Для выполнения функций вычисления необходима одна кнопка Command1. Это будет «Старт». Вторая кнопка Command2 выполняет функцию завершения работы приложения - кнопка «Финиш».

. Теперь следует все указанные выше компоненты вынести на форму. Для этого на панели стандартных элементов находим значок одного из компонент, активизируем его и «переносим» на форму: рисуем условный прямоугольник в том месте формы, где будет предположительно находиться этот элемент, учитывая при этом его размеры.

. Аналогичные действия выполняем поочередно для каждого элемента, пока на форме не появятся все 12 элементов.

. Далее изменяем свойства объектов, используя страницу свойств Properties. Для изменения свойств элементов следует активизировать элемент - выделить его на форме. Далее для выделенного элемента в окне свойств можно вносить изменения: для Command1 изменить свойство Caption = ‘Старт‘, для Command2 - свойство Caption = ‘Финиш‘. Для остальных элементов задать значения свойств: Text1.Text = ‘ ‘

Text2.Text = ‘ ‘

Text3.Text = ‘ ‘.Text = ‘ ‘.Text = ‘ ‘1.Caption = ‘Введите значение A‘

Label2.Caption = ‘Введите значение B‘

Label3.Caption = ‘Введите значение E‘

Label4.Caption = ‘Вывод значения xn‘

Label5.Caption = ‘Вывод значения yn‘ Заготовку формы для примера 1-1 с измененными свойствами смотрите на рис. 2.3.

. Для создания программного кода в проводнике проекта или в меню View выбрать команду Code.

В окне Project1 - Form1 (Code) выбрать в списке General название кнопки 1 и кликнуть по ней. В результате появится заготовка записи программного кода для Command1 с инициированием для нее события Click. Значения A, B, E пользователь должен ввести в окна Text1, Text2, Text3. Но в текстовом окне данные получаются также текстовые, типа Single. Поэтому используем функцию Val( ) для перевода в числовой тип Single, который объявлен для переменных A, B, E в начале программы в операторе Dim. Для вывода значений xn, yn используется функция Round( ), которая округляет количество знаков после запятой до четырёх.

. Аналогичные действия выполняем в отношении кнопки 2. Для Command2 будет выполняться одно действие - закрыть приложение. Это выполняет команда End.

Рис. 2.3. Заготовка формы для примера 1-1 с измененными свойствами.

Программный код для примера нахождения корней уравнения методом деления отрезка пополам будет иметь вид:

Private Sub Command1_Click()

Rem Лабораторная работа 1-1, вариант 13

A=0, B=1, E=0.001A, B, E, YA, YB, xn, yn As Single

A = Val(Text1.Text)= Val(Text2.Text)= Val(Text3.Text)= fnf(A / 1): YB = fnf(B / 1)YA * YB > 0 Then GoTo 1"xn", "yn"

xn = (A + B) / 2: yn = fnf(xn / 1)xn, ynYA * yn < 0 then b = xn else a = xn(b - a) > E Then GoTo 2.Text = Round(xn, 4).Text = Round(vn, 4)SubSub Command2_Click()

End Sub . Для сохранения проекта надо выполнить команду меню File (файл) → Save Project As (Сохранить проект как). В диалоговом окне Save File As (Сохранить файл как) выбрать название диска, на котором должна быть создана папка для хранения файлов нового проекта. Далее для сохранения формы, следует набрать имя файла в поле ввода File Name (Имя файла), например Primer1-1, и нажать клавишу «Enter». Форма Form1 будет сохранена в файле с расширением Primer1-1.frm.

. После сохранения формы следует сохранить проект. В VISUAL BASIC это происходит автоматически, после чего должно появиться диалоговое окно Save Project As -Сохранить проект. Следует набрать то же имя Primer1-2 и нажать клавишу «Enter». Файл проекта будет сохранен с расширением Primer1-1.vbp.

. Теперь запустить проект на выполнение. Выбираем команду Run → Start или Shift+F5. В поле Text1 нужно ввести значение A, в поле Text2 - значение B, в поле Text3 - значение E - после чего нажать кнопку «Старт». В окнах Text4, Text5 появились значения xn, yn. Для завершения работы приложения следует нажать кнопку «Финиш». 1.2 Метод Ньютона (метод касательных)

численный метод линейный программирование

Пример: Решить уравнение F(x)=x3+x-1=0 на отрезке [0;1] методом Ньютона c точностью e=0.01.

Решение:

На рис. 1.5 приведена программа решения данного уравнения методом Ньютона.

CLSLR-1-2, m=13, n=5FNF(X)=X^3+X-1FNP(X)=3*X+1X, E

X=X- FNF(X)/FNP(X)X, FNF(X)ABS(FNF(X)/FNP(X))>E THEN 1

END

Рис. 1.5. Программа нахождения корней методом Ньютона. 1.3 Метод простой итерации Пример: Решить уравнение F(x)=x3+x-1=0 на отрезке [0;1] методом простой итерации c точностью e=0.01.

Решение:

LR-1-3, m=13, n=5FNF(X)= X^3+X-1X, E, M

X = X - FNF(X)/MX, FNF(X)ABS(FNF(X)/M)>E THEN 1

END

Рис.1.7. Программа решения уравнения методом простой итерации. 2. Методы решения систем линейных алгебраических уравнений .1 Метод Гаусса Пример: Решить систему уравнений методом Гаусса:

+ 4x2 + 3x3 = 10

x1 + x2 - x3 = -1

x1 - x2 +x3 = 11 Решение: 2.2 Метод прогонки Пример: Решить систему уравнений методом прогонки: 10x1 + x2 = m+5

x1 + 9x2 + x3 = n+9 m -1

,1x2 +4x3 -x4 = 4 n+0,1 m -5

-x3 +8x4 - x5 = 40 -n - L

x5 = L, где значения m - номер варианта, n - номер группы, L - номер факультета.

Решение:

На рис. 2.1 приведена программа решения методом прогонки.

REM LR-2-2, m=13, n=5A(5), B(5), C(5), D(5), U(5), V(5), X(6), R(5)0, 10, 1, 5-2, 9, 1, -10.1, 4, -1, -5-1, 8, -1, 400, 1, 0, 0I =1 TO 5A(I), B(I), C(I), D(I)(I) = -C(I) / (A(I)*U(I-1) + B(I))(I) =(D(I)-A(I)*V(I-1)) / (A(I)*U(I-1) + B(I))I(5) = V(5)I =4 TO 1 STEP -1(I) = U(I)*X(I+1) + V(I)II =1 TO 5(I) = D(I)-A(I)*X(I-1)-B(I) *X(I)-C(I)*X(I+1)²X ²; I; ² = ²; X(I); ²R²; I; R(I)

NEXT I

Рис.2.1. Программа решения методом прогонки. 2.3 Метод простой итерации (метод Якоби) Пример: Преобразовать систему уравнений: x1 + 4x2 -x3= 7

x1+6x2+3x3=-2 (2.15)

x1+ x2 + 4x3=4

к виду, пригодному для построения итерационного процесса методом Якоби и выполнить три итерации.

Решение: 2.4 Метод Зейделя Решение: 3. Численные методы решения систем нелинейных уравнений .1 Метод простой итерации (метод Якоби) Пример: Найти решение системы (3.7) методом Зейделя с точностью e=0,001.

(x,y)=2sin(x+1)-y-0.5 = 0

(3.7)(x,y)=10cos(y-1)-x+0.4 = 0 Решение:

Программа, реализующая решение данной задачи, представлена на рис.3.2. CLSLR-3-2, m=13, n=5X,Y, M1,M2

X=X-(2*SIN(X+1)-Y - 0.5)/M1=Y-(10*COS(Y-1)-X+0.4)/M2X,YTT1

Рис.3.2. Программа решения методом Зейделя.

3.2 Метод Ньютона Пример: Найти решение системы (3.7) F(x,y)=2·sin(x+1)-y-0.5 = 0

G(x,y)=10·cos(y-1)-x+0.4 = 0 (3.13) методом Ньютона с точностью e=0,001.



Похожие работы

 
Тема: Отбор и организация материала в аудио-визуальном методе
Предмет/Тип: Педагогика (Контрольная работа)
 
Тема: Специфика продвижения фестиваля рекламы на вербальном и визуальном уровнях
Предмет/Тип: Маркетинг (Курсовая работа (т))
 
Тема: Понятие о программировании
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат)
 
Тема: Двойственность в линейном программировании
Предмет/Тип: Менеджмент (Контрольная работа)
 
Тема: Язык HTML в программировании
Предмет/Тип: Другое (Курсовая работа (т))