Реферат: Метод покоординатного спуска (C++) - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Метод покоординатного спуска (C++)

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 67 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

13 ОглаВЛЕНИЕ Задание 2 Краткое описание метода покоординатного спуска с удвоением шага 3 Текст программы 4 Результаты решения и его проверки 9 Результаты отыскания минимума квадратичной функции 9 Результаты решения системы линейных уравнений 9 Проверка вычислений при различных начальных векторах 10 Список литературы 12 Задание 1). Изложить метод покоординатного спуска (МПС) для отыскания минимума квадратичной функции где , , , - симметричная положительно определенная матрица. 2). Реализовать МПС на компьютере с дроблением шага. В качестве критерия прекращения спуска предусмотреть из следующих: а) ; б) . Продемонстрировать работу программы для: ; Выходные данные программы: , , , где - номер последнего шага. Входные данные: . Решить систему и сравнить с . Проверить вычисления при различных начальных векторах и проследить за зависимостью от . Квадратичная функция в данном задании будет иметь вид: Краткое описание метода покоординатного спуска с удвоением шага Каждый цикл метода характеризуется тем, что величина шага в течение всех n итераций цикла остается постоянной. Цикл состоит в вычислении точек . Предполагается, что в результате завершения предыдущего цикла получена величина шага . -я итерация цикла : Если (А) , то полагают и переходят к следующей итерации. Если (В) , то вычисляют . Если (С) , то полагают и переходят к следующей итерации. Если ( D ) , то полагают и переходят к следующей итерации. В случае, если неравенства (В) и ( D ) имеют место для всех , то уменьшают величину , как правило, полагая , и переходят к следующему циклу, т.е. повторяют все процедуры предыдущего цикла, но уже с двое меньшим шагом. Текст программы # include < stdio . h > #include #include #include void Readstr(char *s, int max) // reads a string int c; while((c = getchar()) != '\n') if(max>1) *s++ = c, max--; if(max>0) *s = 0; void ReadMatrix(int flag, double *a, double *c, int sz) //reads the matrix FILE *f; //the matrix file int i, j; if(flag == 1) //if that file exists f = fopen("matrix.txt", "rt"); //opens file on reding and check its existence if(f == NULL) //if file don't exist printf("No file is found. \n"); return; int ch; for(i=0; i= acc) n++; if(n==0) // ||x[k] - x[k-1]|| q = fabs((x[0] - prev[0])); for(i=1; i=q) q = w; e = r - f; // f(x[k]) - f(x[k-1]) if(n) return false; else return true; double MPS(double *a, double *c, double *x, int sz, double acc, int &p, double &q, double &e) //minimizes function "f" double *prev,g,f,z,r; double l = 0.7; // the first value of step int i,j,k,t,y; prev = new double[sz]; for(i=0; i + g = 0; for(j=0; j= f(x[k-1]) x[k] += 2*l; // f(x[k-1] + l*e) f = 0; for(i=0; i= f(x[k-1]) x[k] = prev[k]; t++; else // f(x[k-1] + l*e) < f(x[k-1]) r = z; z = f; // saves previous value of function "f" else // f(x[k-1] - l*e) < f(x[k-1]) r = z; z = f; // saves previous value of function "f" if(t==sz) l = l/2; // the step subdivision goto yo; p++; // a number of steps while(!CheckII(x,prev,sz,acc,q,r,e,f)); // ||x[k] - x[k-1]|| < acc return f; delete prev; void main(void) double *a, *x, *c, acc; //presents arrays and an accuracy double f,q,e; int p, sz; //presents the size of your matrix and the number of iterations int h, i; printf("Enter the size of your matrix: "); // asks for the size of your matrix scanf("%i", &sz); printf("Enter an accuracy: "); // asks for an accuracy scanf("%lf", &acc); a = new double[sz*sz]; c = new double[sz]; x = new double[sz]; do //asks your wish about the entering your matrix printf("Press 1 if you want to read your matrix from the file (matrix.txt)\n"); printf("Press 2 if you want to enter your matrix yourself\n"); scanf("%i",&h); Readstr(NULL, 0); while((h != 1) && (h != 2)); for(i=0; i
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Если девушка знает себе цену - то я знаю ее профессию.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Метод покоординатного спуска (C++)", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru