Метод деления отрезка пополам на Visual basic и создание массива

Автор работы: Пользователь скрыл имя, 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

Содержимое работы - 1 файл

Готовый курсовик.doc

— 116.00 Кб (Скачать файл)
 

                 Кафедра «АиИТ» 
           

             Курсовая  работа 

          по дисциплине: «ПиОА»

               Вариант№ 22 
           
           

Выполнил: студент группы 4241 

Проверил: доцент,

кафедры «АиИТ»

.

Старший преподаватеь 
 
 
 
 
 
 
 
 
 
 
 
 

          – 2010г.

          Содержание 
           
           

Введение……………………………………………………………………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 
 
 
 
 
 
 
 
 
 
 
 
 
 

               Введение 

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

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

     Одномерная  задача оптимизации в общем случае формулируется следующим образом. Найти наименьшее (или наибольшее) значение целевой функции y = f(x), заданной на множестве σ, и определить значение проектного параметра x принадлежащего к σ, при котором целевая функция принимает экстремальное значение. Для решения этой задачи существует ряд специальных методов поиска оптимальных решений с разными способами выбора узлов и сужения интервала неопределённости. 
 

           1. Задание к курсовой работе 
       

1.Найти  приближенное значение минимума, методом деления функции на  отрезки  функции f(x) = x^4-18x^+6=0;

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 
 

 
 

                                                              (a-b)<e

 
 

             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 

 

                                                        Fx1<Fx2

 

      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.

      По  своей размерности массивы разделяются на: одномерные, двумерные и т.д. Для вещественных чисел это соответственно будут векторы, матрицы, тензоры.

      Массивы применяются в широкой области  приложений, например:

      1. Векторы. Управляющие воздействия, которые изменяют состояние системы, обычно задаются в виде векторов, называемых управляющими векторами.
      2. Матрицы. Системы управления очень часто описывают в виде систем дифференциальных уравнений, для решения которых применяют представление данных систем в виде матриц.
      3. Тензоры. Для графических данных на экране дисплея помимо двухмерного массива, отображающего место символа.

      2.1.Блок-схема  программы  

      начало

 a(m,n)

Информация о работе Метод деления отрезка пополам на Visual basic и создание массива