| Главная » Статьи » Математика, алгебра, геометрия | [ Добавить статью ] |
ВведениеПроцедура подготовки и решения задачи на ЭВМ достаточно сложный и трудоемкий процесс, состоящий из следующих этапов: Постановка задачи (задача, которую предстоит решать на ЭВМ, формулируется пользователем или получается им в виде задания). Математическая формулировка задачи. Разработка алгоритма решения задачи. Написание программы на языке программирования. Подготовка исходных данных. Ввод программы и исходных данных в ЭВМ. Отладка программы. Тестирование программы. Решение задачи на ЭВМ и обработка результатов. В настоящей курсовой работе условие задачи дано в математической формулировке, поэтому необходимость в выполнении этапов 1 и 2 отпадает и сразу можно приступить к разработке алгоритма решения задачи на ЭВМ. Под алгоритмом понимается последовательность арифметических и логических действий над числовыми значениями переменных, приводящих к вычислению результата решения задачи при изменении исходных данных в достаточно широких пределах. Таким образом, при разработке алгоритма решения задачи математическая формулировка преобразуется в процедуру решения, представляющую собой последовательность арифметических действий и логических связей между ними. При этом алгоритм обладает следующими свойствами: детерминированностью, означающей, что применение алгоритма к одним и тем же исходным данным должно приводить к одному и том уже результату; массовостью, позволяющей получать результат при различных исходных данных; результативностью, обеспечивающей получение результата через конечное число шагов. Наиболее наглядным способом описания алгоритмов является описание его в виде схем. При этом алгоритм представляется последовательность блоков, выполняющих определенные функции, и связей между ними. Внутри блоков указывается информация, характеризующая выполняемые ими функции. Блоки схемы имеют сквозную нумерацию. Конфигурация и размеры блоков, а также порядок построения схем определяются ГОСТ 19.002-80 и ГОСТ 19.003-80. На этапе 4 составляется программа на языке Турбо-Паскаль. При описании программы необходимо использовать характерные приемы программирования и учитывать специфику языка. В качестве языка программирования выбран язык Паскаль ввиду его наглядности и облегченного понимания для начинающих программистов, а также возможности в дальнейшем использовать для решения более трудных задач. Этапы алгоритмизации и программирования являются наиболее трудоемкими, поэтому им уделяется большое внимание. В процессе выполнения курсовой работы студент готовит исходные данные, вводит программу и исходные данные. При работе ввод программы и исходных данных осуществляется с клавиатуры дисплея. Отладка программы состоит в обнаружении и исправлении ошибок, допущенных на всех этапах подготовки задач к решению на ПЭВМ. Синтаксис ошибки обнаруживается компилятором, который выдает сообщение, указывающее место и тип ошибки. Обнаружение семантических ошибок осуществляется на этапе тестирования программы, в котором проверяется правильность выполнения программы на упрощенном варианте исходных данных или с помощью контрольных точек или в режиме пошагового исполнения. Задание при обработке на ЭВМ проходит ряд шагов: компиляцию, редактирование (компоновку) и выполнение. Обработка результатов решения задачи осуществляется с помощью ЭВМ. Выводимые результаты оформлены в виде, удобном для восприятия. Краткое описание сущности метода касательных (метода секущих Ньютона) Пусть на отрезке [a; b] отделен корень с уравнения f (x) = 0 и f — функция непрерывна на отрезке [a; b], а на интервале ]a; b[ существуют отличные от нуля производные f’ и f”. Так как f’(x) № 0, то запишем уравнение f (x) = 0 в виде: x = x – (f (x) / f’(x)) (1). Решая его методом итераций, можем записать: xn+1 = xn – (f (xn) / f’(xn)) (2). Если на отрезке [a;b] f’(x) * f“(x) > 0, то нулевое приближение выбираем x0 = a. Рассмотрим геометрический смысл метода. Рассмотрим график функции y = f (x). Пусть для определенности f‘(x) > 0 и f“(x) > 0. Проведем касательную к графику функции в точке B (b, f (b)). Ее уравнение будет иметь вид: y = f (b) + f’(b) * (x – b). Полагая в уравнении y = 0 и учитывая, что f’ (x) № 0, решаем его относительно x. Получим: x = b – (f (b) / f‘(b)). Нашли абсциссу x1 точки c1 пересечения касательной с осью ox: x1 = b – (f (b) – f’ (b)).
Проведем касательную к графику функции в точке b1 (x1; f (x1)). Найдем абсциссу x2 точки с2 пересечения касательной с осью оx: x2 = x1 – (f (x1) / (f’ (x1)). Вообще: xk+1 = xk – (f (xk) / f’(xk)) (3). Таким образом, формула (3) дает последовательные приближения (xk) корня, получаемые из уравнения касательной, проведенной к графику функции в точке bk (xk; f (xk0). Метод уточнения корня c [a;b] уравнения f (x) = 0 с помощью формулы (3) называется методом касательной или методом Ньютона. Геометрический смысл метода касательных состоит в замене дуги y = f (x) касательной, одной к одной из крайних точек. Начальное приближение x0 = a или x0 = b брать таким, чтобы вся последовательность приближения хk принадлежала интервалу ]a;b[. В случае существования производных f’, f”, сохраняющих свои знаки в интервале, за х0 берется тот конец отрезка [a;b], для которого выполняется условие f’(х0) * f (х0) > 0. Для оценки приближения используется общая формула: |c-xk-1| Ј |f (xk+1) / m|, где m = min f’(x) на отрезке [a;b]. На практике проще пользоваться другим правилом. Если на отрезке [a;b] выполняется условие 0 < m < |f (x)| и e — заданная точность решения, то неравенство |xk+1 - xk| Јe влечет выполнение неравенства |c-xk-1| Јe. В этом случае процесс последовательного приближения продолжают до тех пор, пока не выполнится неравенство: |c-xk-1| Јe. Решение нелинейного уравнения аналитически Определим корни уравнения х3 + 0,1х2 + 0,4х – 1,2 = 0 аналитически. Находим: f (x) = х3 + 0,1х2 + 0,4х – 1,2. f‘ (x) = 3х2 + 0,1х + 0,4. f (–1) = –2,5 < 0 f (0) = –1,2 < 0 f (+1) = 0,3 > 0.
Следовательно, уравнение имеет действительный корень, лежащий в промежутке [0; +1]. Приведем уравнение к виду x = j (x) так, чтобы |j‘ (x) | <1 при 0 Ј x Ј +1. Так как max |f’ (x)| = f’(+1) = 3 + 0,1 + 0,4 = 3,5, то можно взять R = 2. Тогда j (x) = x – (f (x) / R) = x – 0,5 х3 – 0,05 х2 – 0,2 х + 0,6 = –0,5 х3 – 0,05 х2 + 0,8 х + 0,6. Пусть х0 = 0, тогда хn+1 = j (хn). Вычисления расположим в таблице
График функции y = х3 + 0,1х2 + 0,4х – 1,2
Блок схема программы Программа на языке PASCAL 7.0 program metod_kasatel;{Название программы} uses Crt; {Модуль дисплейных функций} var {Блок описаний переменных} xn,xn1,a,b,c,mx,y0,x0: real; function f1(x1: Real): Real; {Основная функция} begin f1:= x1*x1*x1*(-0.5)-0.05*x1*x1+0.8*x1+0.6; end; function f2(x4:Real): Real; {Производная от основной функции} begin f2:= x4*x4*x4+0.5*x4*x4+0.1*x4*x4+0.4*x4–1.2; end; begin {Начало основного тела программы} Clrscr; {Очистка экрана перед выполнением программы} a:=0;b:=1;c:=0.00000001; Writeln (' От A=',a,' до B=',b); {Вывод на экран} Writeln (' Погрешность с=',c); Readln; {Ожидание нажатия клавиши Enter} xn:=b; xn1:= f1(xn); y0:=f2(b); while ABS (y0)>c do {Проверка по точности вычисления корня} begin {Тело цикла} xn:=xn1; xn1:=f1(xn); y0:= f2(xn1); {Печать промежуточного результата} Writeln ('xn=',xn,' xn+1=',xn1,' f(xn+1)=',y0); Readln; {Ожидание нажатия клавиши Enter} end; {Конец тела цикла} Writeln ('Конечные значения'); {Печать полученного результата} Writeln (' xn+1=',xn1,' f(xn+1)=',y0); Readln; {Ожидание нажатия клавиши Enter} end. {Конец основного тела программы} Результаты выполнения программы От A= 0.0000000000E+00 до B= 1.0000000000E+00 Погрешность с= 1.0000000000E-08 От A= 0.0000000000E+00 до B= 1.0000000000E+00 Погрешность с= 1.0000000000E-08 xn= 8.5000000000E-01 xn+1= 9.3681250000E-01 f(xn+1)= 8.4649960270E-02 xn= 9.3681250000E-01 xn+1= 8.9448751986E-01 f(xn+1)=-4.6507647892E-02 xn= 8.9448751986E-01 xn+1= 9.1774134381E-01 f(xn+1)= 2.4288343840E-02 xn= 9.1774134381E-01 xn+1= 9.0559717189E-01 f(xn+1)=-1.3064617920E-02 xn= 9.0559717189E-01 xn+1= 9.1212948085E-01 f(xn+1)= 6.9234699658E-03 xn= 9.1212948085E-01 xn+1= 9.0866774587E-01 f(xn+1)=-3.6990702320E-03 xn= 9.0866774587E-01 xn+1= 9.1051728099E-01 f(xn+1)= 1.9678960780E-03 xn= 9.1051728099E-01 xn+1= 9.0953333295E-01 f(xn+1)=-1.0493249720E-03 xn= 9.0953333295E-01 xn+1= 9.1005799543E-01 f(xn+1)= 5.5884091853E-04 xn= 9.1005799543E-01 xn+1= 9.0977857497E-01 f(xn+1)=-2.9781681224E-04 xn= 9.0977857497E-01 xn+1= 9.0992748338E-01 f(xn+1)= 1.5865717614E-04 xn= 9.0992748338E-01 xn+1= 9.0984815480E-01 f(xn+1)=-8.4537703515E-05 xn= 9.0984815480E-01 xn+1= 9.0989042365E-01 f(xn+1)= 4.5040009354E-05 xn= 9.0989042365E-01 xn+1= 9.0986790364E-01 f(xn+1)=-2.3997676180E-05 xn= 9.0986790364E-01 xn+1= 9.0987990248E-01 f(xn+1)= 1.2785800209E-05 xn= 9.0987990248E-01 xn+1= 9.0987350958E-01 f(xn+1)=-6.8122881203E-06 xn= 9.0987350958E-01 xn+1= 9.0987691573E-01 f(xn+1)= 3.6295678001E-06 xn= 9.0987691573E-01 xn+1= 9.0987510095E-01 f(xn+1)=-1.9338276616E-06 xn= 9.0987510095E-01 xn+1= 9.0987606786E-01 f(xn+1)= 1.0303429008E-06 xn= 9.0987606786E-01 xn+1= 9.0987555269E-01 f(xn+1)=-5.4896190704E-07 xn= 9.0987555269E-01 xn+1= 9.0987582717E-01 f(xn+1)= 2.9248803912E-07 xn= 9.0987582717E-01 xn+1= 9.0987568093E-01 f(xn+1)=-1.5583464119E-07 xn= 9.0987568093E-01 xn+1= 9.0987575885E-01 f(xn+1)= 8.3031409304E-08 xn= 9.0987575885E-01 xn+1= 9.0987571733E-01 f(xn+1)=-4.4236003305E-08 xn= 9.0987571733E-01 xn+1= 9.0987573945E-01 f(xn+1)= 2.3572283681E-08 xn= 9.0987573945E-01 xn+1= 9.0987572766E-01 f(xn+1)=-1.2558302842E-08 xn= 9.0987572766E-01 xn+1= 9.0987573394E-01 f(xn+1)= 6.6920620156E-09 Конечные значения xn+1= 9.0987573394E-01 f(xn+1)= 6.6920620156E-09 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Чтобы скачать материал, пожалуйста, авторизуйтесь или зарегистрируйтесь! Это быстро ! )
Категории
| Математика, алгебра, геометрия [1729] |
| Книги (Это интересно) [351] |
| Видеоуроки [26920] |
| География [2660] |
| Дополнительное образование [401] |
| ЕГЭ/ГИА [266] |
| Информатика [1187] |
| История / обществознание [4663] |
| Для Логопеда [500] |
| Материалы для коррекц. классов [400] |
| ОБЖ [558] |
| Презентации [402] |
| Для Психолога [514] |
| Физическая культура [529] |
| Черчение [121] |
| Шаблоны презентаций [466] |
| Для Библиотекаря [160] |
| Праздники [419] |
| Интересные Видеоролики [12] |
| Английский язык [791] |
| Иностранные языки (прочие) [461] |
| Окружающий мир [873] |
| Биология и экология [1643] |
| Всем учителям [508] |
| Для директора и завуча [1042] |
| Дошкольное образование [1238] |
| Искусство [804] |
| Для Классного руководителя [543] |
| Начальные классы [718] |
| Основы религиозных культур [137] |
| Программы и Софт [21] |
| Родной язык [505] |
| Русский язык и литература [3915] |
| Технология [1000] |
| Физика [1263] |
| Химия [1297] |
| Экономика [905] |
| Астрономия [444] |
| Писатели [113] |
| Классный час [527] |
| Шаблоны документов [85] |
| Другое (Прочее) [412] |

