Автор работы: Пользователь скрыл имя, 12 Ноября 2011 в 16:15, курсовая работа
При разработке новых конструкций, механизмов и т.п. возникает необходимость выбора наилучшего варианта из всех возможных. Такой процесс называют оптимизацией. В процессе решения задачи оптимизации обычно необходимо найти оптимальные значения некоторых проектных параметров, определяющих данную задачу.
Введение……………………………………………………………………3
1. Задание к курсовому проекту…………………………………………..4
1.1.Теоретическая часть .Метод деления отрезка пополам……………..5
1.2.Ход работы .Построение графика функции в Excel…………………6
1.3.Блок-схема программы……………….. ………………………………7
1.4.Листинг программы…………………………………………………....8
2.Теоретическая часть. Массивы. ………………………………………..10
2.1.Блок-схема программы ……………………………………………….11
2.2.Листинг программы…………………………………………………...12
Выводы……………………………………………………………………..14
Список литературы………………………………………………………...15
Кафедра «АиИТ»
Курсовая
работа
по дисциплине: «ПиОА»
Вариант№
22
Выполнил:
студент группы 4241
Проверил: доцент,
кафедры «АиИТ»
.
Старший
преподаватеь
– 2010г.
Содержание
Введение…………………………………………………………
1. Задание к курсовому проекту…………………………………………..4
1.1.Теоретическая часть .Метод деления отрезка пополам……………..5
1.2.Ход работы .Построение графика функции в Excel…………………6
1.3.Блок-схема программы……………….. ………………………………7
1.4.Листинг
программы…………………………………………………..
2.Теоретическая часть. Массивы. ………………………………………..10
2.1.Блок-схема программы ……………………………………………….11
2.2.Листинг
программы…………………………………………………..
Выводы………………………………………………………………
Список литературы…………………………………
Введение
При разработке новых конструкций, механизмов и т.п. возникает необходимость выбора наилучшего варианта из всех возможных. Такой процесс называют оптимизацией. В процессе решения задачи оптимизации обычно необходимо найти оптимальные значения некоторых проектных параметров, определяющих данную задачу. В качестве проектных параметров могут быть, в частности, значение линейных размеров объекта, массы, температуры и т.п. выбор оптимального решения или сравнение двух альтернативных решений проводится с помощью некоторой зависимой величины, называемой целевой функцией. В процессе решения задачи оптимизации должны быть найдены такие значения проектных параметров, при которых целевая функция имеет минимум (или максимум).
В случае одного проектного параметра целевая функция является функцией одной переменной (одномерная задача оптимизация), и её график – некоторая кривая на плоскости. При нескольких проектных параметров целевая функция является функцией нескольких переменных (многомерная задача оптимизации), и её график – некоторая многомерная плоскость.
Одномерная
задача оптимизации в общем случае
формулируется следующим
1.
Задание к курсовой
работе
1.Найти
приближенное значение
1.1.Выбрать начальный отрезок, содержащий минимум функций. Для этого построить график функций. При построении графиков функций следует предварительно выбрать расположение координатных осей и масштабов на них.
1.2.Составить блок-схему алгоритма.
1.3.Отладить и выполнить программу на ЭВМ, получить с заданной точностью Е= 10-4 минимум функций f(x).
1.4.Для контроля подставить найденный корень в уравнение и сравнить результат с «Е».
1.5.Проверить
полученное решение путем построения
графиков в Excel или MathCAD.
2.Для
заданного варианта выполнить
задание с использованием
Дана матрица размера mxn .Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.
2.1.Составить блок-схему алгоритма.
2.2.Отладить
и выполнить программу на ЭВМ.
1.1.
Теоретическая часть. Метода
деления отрезка пополам
Это один из самых простых методов, который, хотя и требует значительного объёма вычислений, но всегда приводит к искомому результату. Если вид целевой функции f(x) достаточно сложный, то вычисления другими методами (кроме метода золотого сечения) затруднительно. Метод состоит в построении последовательности отрезков [a0, b0], [a1,b1], …, стягивающих к точке минимума функций f(x). На каждом шаге, за исключением первого, вычисление значение функций f(x) проводится три раза.
На первом шаге процесса оптимизации внутри отрезка [a0, b0] выбираются внутренняя точка с0 = (a0 + b0) / 2 и вычисляется значение целевой функции f(c0).Затем определяются еще две внутренние точки x1 = (a0 + c0) / 2 и x2 = (b0 + c0) / 2, и вычисляется значение целевой функции a0 x1 c0 x2 bo,f(x1) и f(x2). Поскольку в данном случае f(x1) < f(x2), очевидно, что минимум расположен на одном из прилегающих к x1отрезков [a0, x1] или [x1, c0]. Поэтому отрезок [с0, b0] можно отобразить, сузив тем самым первоначальный интервал.
Второй шаг на отрезке [a1, b1]
,где a1 = a0, b1 = c0, c1 = x1. Нужно выбрать уже
внутренние точки, как и на предыдущем
шаге, x3, x4, вычислить значение f(x3), f(x4)и
провести сравнение. Поскольку здесь a1=a0
x3 c1=x1 x4 b1=c0,f(x3)> f(x4), ясно, что минимум находится
на отрезке [c1, b1]. Обозначим этот отрезок[a2,
b2], снова выберем внутренние точки и повторим
процедуру сужение интервала неопределённости.
Процесс оптимизации повторяется до тех
пор, пока длина очередного отрезка не
станет меньше заданной величины e.
1.2.Ход
работы. Построение
графика функции в Excel
Уравнение
графика x^4-18x^2+6=0.
Вычислим производную
функции:
F(x)=4x^3-36x=4x(x-3)(x+3).
Корни уравнения
X1=0,5
X2=-05
X3=4.2
X4=-4.2
1.3.Блок
схема алгоритма
Метода деления
отрезка по полам
Начало
a,b,e
c=(a+b)/2
fc = c ^ 4 - 18 * c ^ 2 + 6
x1 = (a + c) / 2
x2 = (b + c) / 2
fx1 = x1 ^ 4 - 18 * x1 ^ 2 + 6
fx2 = x2 ^ 4
- 18 * x2 ^ 2 + 6
a=c b=c
c=x2 c=x1
c,fc
Конец
1.4.Листинг программы
Private Sub Command1_Click()
Dim a, b, c, x1, x2 As Single
Dim e As Single
Dim fx1, fx2, fc As Single
'Вводим данные
a = Text1.Text
b = Text2.Text
e = Text3.Text
'Расчитываем с
c = (a + b) / 2
'Цикл пока длина отрезка по модулю не будет меньше числа e
Do Until Abs(a - b) < e
'вычисляем значение ф-ии в точке с
fc = c ^ 4 - 18 * c ^ 2 + 6
'находим точки х1, х2 и значения функции в этих точках fx1, fx2
x1 = (a + c) / 2
x2 = (b + c) / 2
fx1 = x1 ^ 4 - 18 * x1 ^ 2 + 6
fx2 = x2 ^ 4 - 18 * x2 ^ 2 + 6
'Сравниваем 2 значения м/у собой
'Если первое значение больше, то сокращаем отрезок: граница b становится значением с
'а с становится значением х1
If fx1 < fx2 Then
b = c
c = x1
'Если второе значение больше, то сокращаем отрезок: граница a становится значением с
'а с становится значением х2
Else
a = c
c = x2
End If
'Выводим значения на экран
Label6.Caption = c
Label7.Caption = fc
Loop
End Sub
2.Теоретическая
часть. Массивы
Массив –это регулярная структура данного одного типа, где все компоненты могут выбираться произвольно и являются одинаково доступными. Регулярность заключается в том, что все данные организованы по определённой закономерности. Для обеспечения доступа к любому элементу массива вводится специальное число называемое индексом.
Индекс
– это целое число или
Например, имеем следующий массив чисел:
X1 | 0,5 |
X2 | 0,25 |
X3 | 0,125 |
X4 | 0,0625 |
Каждый элемент этого массива может быть определён по следующей зависимости: XJ = 2^ (-j), где j- индекс.
Например, для значения индекса j= 2, значение элемента массива будет равно: X2 = 2 ^ (-2) = 0, 25.
По своей размерности массивы разделяются на: одномерные, двумерные и т.д. Для вещественных чисел это соответственно будут векторы, матрицы, тензоры.
Массивы применяются в широкой области приложений, например:
2.1.Блок-схема
программы
начало
a(m,n)
Информация о работе Метод деления отрезка пополам на Visual basic и создание массива