Курсовая: Табулирование функции и вычисление корня нелинейного уравнения методом бисекции на языке Paskal - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

Табулирование функции и вычисление корня нелинейного уравнения методом бисекции на языке Paskal

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

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

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 255 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!
Заказать
Узнать стоимость написания уникальной курсовой работы

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

12 Московский Авиационный Институт (Государственный Технический Университет) Расчетно-графическая работа по информатике на тему «Табулирование функции» Москва 200 8 Содержание: Содержание: 2 Задание 3 Анализ задания. 4 Обоснование и описание вычисление корня нелинейного уравнения методом бисекции (половинного деления): 5 Таблица обозначения переменных главной программы. 6 Схемы алгоритмов 7 Главная программа: 7 Функция mfunc : 8 Функция func : 8 Функция sign : 8 Процедура Bisect: 9 Программа Pascal. 10 Результаты. 12 Задание Разработать схему алгоритма вычисления таблицы значений функции при заданных значениях аргу мента Х и параметра А. Параметр В принимает значение, численно равное интегралу . Аргумент X : M - число значений аргумента, не зависящих друг от друга ; Параметр А : An – начальное значение параметра; Da – шаг изменения параметра ; N – число значений параметра, изменяемого от значения An с шагом Da ; B – корень нелинейного уравнения : , вычисленный с погрешностью е Табулируемая функция: Анализ задания. Составить алгоритм для вычисления таблицы значений функции: где B - параметр ф ункции, принимающий значение корня нелинейного уравнения : , кото рый вычисляется с погрешностью Eps половинного деления . Bisect - процедура, предназначенная для нахождения значения корня нелинейного уравнения с погрешностью Eps (методом биссекции ). Список входных параметров: c , d , Eps , maxit c , d - левый и правый пределы отрезка , на котором вычисляется корень ; тип - вещ. Eps - заданная погрешность нахождения корня; тип- вещ. Maxit - на и боль шее раз ре шен ное количество ите раций; тип- целое. Выходные параметры: B B – корень уравнения; тип вещественные. k - количество вы пол нен ных ите ра ций ; тип- целое. Входными данными в данной задаче являются : M - число значений аргумента, не зависящих друг от друга, M значений Х, An – начальное значение параметра , Da – шаг изменения параметра , N – число значений параметра, изменяемого от значения An с шагом Da ; Для решения нелинейного уравнения методом биссекции (половинного деления) используются следующие параметры: c, d, погрешность вычисления Eps , Maxit - на и боль шее раз ре шен ное количество ите раций . Выходными данными в данной задаче являются : значения функции Y , которые зависят от аргумента Х и параметра А , задаваемых пользователем, а также от параметра В , который принимает значение корня нелинейного уравнения . Стоит учитывать вариант, когда найти решение невозможно. В этом случае надо вывести на экран соответствующее сообщение с указанием ошибки. Обоснование и описание вычисление корня нелинейного уравнения методом бисекции (половинного деления) : В общем случае редко удается точно найти все кор ни в алгебраических уравнениях, а если к то му же ко эф фи циенты в уравнении даны с по греш нос тью, то во прос о точном определении корней во об ще теряет вся кий смысл. Однако если пред по ло жить, что задано урав нение типа F ( x ) = 0 , то тог да без огра ничения об щ нос ти можно ут вер ж дать, что F ( х ) име ет корни, для ко то рых су щес т ву ет ок рест ность , содержащая толь ко один прос той ко рень. Та кой корень иногда на зы ва ют изо ли ро ван ны м . В ре зуль тате общая задача на хо ж де ния кор ней или ну лей функции бу дет состоять из сле ду ю щих этапов: 1) отделения корней, т.е. устано вле ния ин тер ва ла , где содержится один и толь ко один ко рень урав нения; 2) задачи уточнения одним из известных ме то дов най ден ного корня x с за дан ной погрешностью e . Предположим теперь, что найден от ре зок [ а, b ] та кой, что F ( а ) F ( b ) < 0. Тогда, согласно те о ре ме Боль ца но-Коши, внут ри от рез ка [ а, b ] су щес т ву ет точка x , в которой F ( x ) = 0. Да лее не об хо димо убе дить ся, что най ден ная точка x единс т вен ная на от рез ке [ а, b ]. Од ним из методов яв ляется де ле ние отрезка на не сколь ко частей, на при мер на че ты ре, и проверка на кон цах каждого из от рез ков зна ка функции. Нули функции на практике вычисляют при бли жен но несколькими способами. Одним из са мых рас про стра ненных можно назвать ме тод ди хо то мии ( би сек ции, по ло вин ного деления ), от но ся щий ся к ите ра ци он ным. Он сос то ит в по стро е нии по сле до ва тель ности вло жен ных от рез ков, на кон цах ко то рых F ( х ) имеет разные зна ки. Каж дый по сле ду ю щий от ре зок получают де ле ни ем по по лам пре ды ду ще го. Этот процесс по стро е ния по сле до ва тель нос ти вло жен ных отрезков по зво ляет най ти нуль функ ции ( F ( х ) = 0) с лю бой за дан ной точ ностью. Опишем подробно один шаг итерации. Пусть на k -м ша ге найден отрезок [ а k , b k ], на концах ко то рого F ( х ) меняет знак. Заметим, чт о обязательно [ а k , b k ] О [ а, b ] . Разделим те перь отрезок [ а k , b k ] пополам и вы де лим F ( x ), где x - се ре ди на [ а k , b k ]. Здесь воз мож ны два слу чая: первый, ког да F ( x ) = 0, тогда мы го ворим, что ко рень найден; вто рой, ког да F ( x ) 0, тог да срав ниваем знак F ( x ) с F ( а k ) и F ( b k ) и из двух по ло вин [ а k , x ] и [ x , b k ] вы бираем ту, на концах ко то рой функ ция меняет свой знак. Та ким образом , а k = а , b k = x , если F ( x ) F ( а k ) < 0 , и а k = x , b k = b , ес ли F ( x ) F ( b k ) < 0. При заданной точности e деление пополам про дол жа ют до тех пор, пока длина отрезка не ста нет меньше 2e , тогда координата середины по след него най денного от резка и есть значение кор ня тре бу е мой точ ности . Метод дихотомии — простой и надежный ме тод по ис ка простого корня уравнения F ( х ) = 0. Он схо дит ся для лю бых непрерывных функ ций F ( х ), в том чис ле и не диф фе рен ци ру е мых. Недостатки метода: 1) проблема определения отрезка, на ко то ром функ ция ме няет свой знак (как правило, это отдельная вы чис ли тель ная задача, на и бо лее слож ная и трудоемкая час ть ре ше ния); 2) если корней на выделенном отрезке не сколь ко, то нельзя заранее сказать, к какому из них сой дет ся про цесс; 3) не применим к корням четной крат нос ти; 4) для корней нечетной, но высокой кратности ме тод неустойчив, дает большие ошибки; 5) медленно сходится. Для достижения e не об хо димо выполнить N итераций , т.е. для по лу че ния 3 верных цифр ( e = 0.0005) на до вы полнить около 10 ите раций, ес ли отрезок имеет единичную длину. Программа, по которой можно вычислить кор ни ме тодом дихотомии, построена по сле ду ю ще му ал го рит му: Шаг 1. Определить входные параметры А, В, ЕРS. Шаг 2. Присвоить: А 1 Ь А ; В 1 Ь В ; К Ь 0. Шаг 3. Присвоить: Х 1 Ь А 1; Х 2 Ь В 1; К Ь К + 1; Х 3 Ь ( В 1+ А 1)/2. Шаг 4. Если F ( Х 1) F ( Х 3) < 0, то перейти на шаг 5 ина че на шаг 7. Шаг 5. Присвоить: В 1 Ь Х 3. Шаг 6. Если | А 1 - В 1| < ЕРS , то перейти на шаг 10 ина че на шаг 3. Шаг 7. Если F ( Х 2) F ( Х 3) < 0, то перейти на шаг 8 ина че на шаг 11. Шаг 8. Присвоить: А 1 Ь Х 3. Шаг 9. Перейти на шаг 6. Шаг 10. Печать: Х 3 - корень уравнения; К - ко ли чес тво ите раций. Шаг 11. | А 1 - В 1| / 2 - погрешность решения. Шаг 12. Конец программы. Это наиболее простое решение задачи, но не са мое эф фективное. Эффективность можно по вы сить, если: 1) заменить произведения F ( х 1 ) F ( х 3 ) и F ( х 2 ) F ( х 3 ) на ис поль зование функции sign( x ). 2) определить процедуру-функцию, вы чис ля ю щую F ( х ) толь ко один раз; 3) заменить в операторе цикла медленный оператор ( А+В )/2 на более быстрый ( А + В )*0.5. Таблица обозначения переменных главной программы. Обозначение в задании Обозначение В алгоритме Наименование M M число значений аргумента, не зависящих друг от друга , целый тип X Х Массив а ргумент ов , вещественный тип An An начальное значение параметра , вещественный тип D a D a шаг изменения параметра A , вещественный тип N N число значений параметра, изменяемого от значения An с шагом Da , целый тип Y З начени е функции, вещественный тип maxit На и боль шее раз ре шен ное количество ите раций; целый тип. B B Значение определенного интеграла , вещественный тип е Eps Заданная погрешность вычисления корня нелинейного уравнения , вещественный тип с, d c, d Левый и правый пределы отрезка, на котором вычисляется корень , вещественный тип Схемы алгоритмов В соответствие с принципами структурного программирования каждый функциональный законченный фрагмент программы оформлен в виде подпрограммы. В результате программа включает главною программу и набор подпрограмм, предназначенных соответственно для вычисления значения функции , вычисления корня нелинейного уравнения . Главная программа: Функция mfunc : Список формальных параметров: x , a , b . Список входных параметров: a , b – параметры функции, тип вещественный. x – аргумент функции, тип вещественный. Функция func : Функция sign : Процедура Bisect : Программа Pascal . program RGR; uses crt; const c=0; d=8; eps=0.0001; var b,a,An,Da:real; x:array [1..100] of real; i,j,m,n,k,maxit:integer; function func(x:real):real; begin func:=exp(-x)-sqr(x-1); end; function mfunc(a,x,b:real):real; begin if x>1 then mfunc:=sqr(x)/(a*x+b) else mfunc:=b*exp(a*x); end; function sign(x:real):integer; begin if x>=0 then sign:=1 else sign:=-1; end; procedure bisect (c,d,eps:real; maxit:integer; var X:real; var k:integer); var C1,D1:real; X1,X2,X3:integer; begin X1:=sign(func(C)); X2:=sign(func(D)); C1:=C; D1:=D; repeat inc(K); X:=(C1+D1)*0.5; X3:=sign(func(X)); if X3=0 then exit; if abs(D1-C1)<(2*eps) then exit; if (X1=X2) and (X2=X3) then exit; if X1=X3 then begin C1:=X; X1:=X3; end else begin D1:=X; X2:=X3; end; until K>=maxIT; end; begin write('Введите M: '); readln(m); for i:=1 to m do begin write('Введите x[',i,']: '); readln(x[i]); end; write('Введите максимальное число итераций: '); readln(maxit); bisect(c,d,eps,maxit,b,k); writeln('Проведено итераций: ',k); writeln('B=',b:5:3); write('Введите An, Da, N: '); readln(An,Da,N); writeln; writeln('Таблица значений.'); for i:=1 to m do begin writeln; writeln('x=',x[i]:5:3); writeln; a:=an; for j:=1 to n do begin writeln(' A=',a:5:3,'; y=',mfunc(a,x[i],b):5:5); a:=a+da; end; end; readln; end. Результаты . Введите M : 3 Введите x [1]: -1 Введите x [2]: 3 Введите x [3]: 5 Введите максимальное число итераций: 1 00 Проведено итераций: 1 7 B=1 . 478 Введите An, Da, N : 4 3 2 Таблица значений. х =-1 .000 А = 4 . 0 00; y = 0. 02707 А = 7 . 0 00; y = 0 . 00135 х =3.000 А =4.000; y = 0.6 677 7 А =7.000; y = 0 . 40040 х =5.000 А =4.000; y = 1 . 16400 А =7.000; y = 0 . 68535
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

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

Обратите внимание, курсовая по программированию "Табулирование функции и вычисление корня нелинейного уравнения методом бисекции на языке Paskal", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

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


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