ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Рішення диференціального рівняння з подальшою апроксимацією
         

     

    Інформатика, програмування

    МІНІСТЕРСТВО ЗВ'ЯЗКУ РФ

    СИБІРСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ

    ТЕЛЕКОМУНІКАЦІЙ ТА ІНФОРМАТИКИ

    ХАБАРОВСЬК ФІЛІЯ

    К У Р С О В А Я Р А Б О Т А

    ПО ІНФОРМАТИЦІ на тему:

    розв'язків диференціальних рівнянь

    З ПОСЛЕДУЮЩЕЙ Апроксимація РЕЗУЛЬТАТІВ

    Роботу виконала: студентка I курсу спеціальності РРТ (ускор.)

    Турчина шифр: 011р-469

    2001

    С О Д Е Р Ж А Н И Е

    Індивідуальне завдання -
    3
    1. Рішення диференціального рівняння методом Ейлера - Коші
    - 4
    1.1. Теоретичні відомості -
    4
    1.2. Ручний розрахунок розв'язуваної задачі -
    6
    2. Апроксимація. Метод найменших квадратів - 9
    2.1. Теоретичні відомості -
    9
    2.2. Ручний розрахунок коефіцієнтів системи лінійних рівнянь -
    10
    3. Рішення системи рівнянь методом Гаусса -
    11
    4. Знаходження значень апроксимуючої функції - 13
    5. Розрахунок похибки апроксимації -
    14
    6. Побудова блок-схеми та розробка програми апроксимації - 16

    Література -
    21

    ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

    1. Розв'язати диференціальне рівняння y = x + cos (y/(0.3) з початковими умовами x0 = 0.7 y0 = 2.1 на інтервалі [0.7; 1.7] з кроком h = 0.1.
    2. Оцінити похибку обчислень при вирішенні диференціального рівняння методом Ейлера - Коші.
    3. Апроксимувати отримане в п.1. рішення параболою методом найменших квадратів.
    4. Розрахувати похибка апроксимації.
    5. Побудувати графіки розв'язання диференціального рівняння, апроксимуючої функції і похибки апроксимації.
    6. Скласти блок-схеми алгоритмів та програми для вирішення диференціального рівняння, обчислення коефіцієнтів апроксимуючої параболи, розрахунку похибки апроксимації мовою QBASIC. На друк видати:
    - Значення функції y (xi), що є рішенням диференціального рівняння в точках xi, знайдені з кроком h і з кроком h/2;
    - Значення апроксимуючої функції F (xi) в точках xi;
    - Значення похибки апроксимації i = F (xi) - yi.
    - Величину середньо - квадратичного відхилення.

    1. Розв'язків диференціальних рівнянь

    Метод Ейлера - Коші

    1.1. ТЕОРЕТИЧНІ ВІДОМОСТІ

    У відповідності з постановкою завдання потрібно знайти рішення диференціальногорівняння першого порядку, тобто знайти такі рішення y (x), якіперетворили б диференціальне рівняння в тотожність. Але так як такихрішень безліч, задані початкові умови - значення функції y (x) в точціx0, тобто y (x0) = y0, а так само інтервал [x0 - xn].
    Рис. 1. показує, що за допомогою початкових умов з безлічі рішеньможна вибрати одне.

    Рис 1. Безліч рішень диференціального рівняння.

    Метод Ейлера - Коші - найбільш точний метод розв'язання диференціальногорівняння (другий порядок точності). Цей метод передбачає наступнийпорядок обчислень: yi +1 (= yi + hf (xi; yi), де i = 0,1,2 ... n yi 1 = yi + h (f (xi; yi) + f (xi 1; yi +1 ())/2
    Число значень n можна знайти, розділивши інтервал на крок:

    n = (xn - xo)/h

    Геометрично це означає, що визначається напрямок дотичної доінтегральної кривої в вихідної точки хi, yi і в допоміжній точціхi +1, yi 1 (, а в якості остаточного напрямки береться середнє цихнапрямків (показано пунктирною лінією на рис. 2)

    Рис.2. Графічна інтерпретація методу Ейлера - Коші.

    Рішення yi 1, знайдене методом Ейлера - Коші, набагато ближче до точногорішення, ніж рішення yi +1 (, знайдене методом Ейлера. Похибка методупропорційна кроку h у другого ступеня, тобто метод Ейлера - Коші маєдругий порядок точності.

    2. РУЧНИЙ РОЗРАХУНОК Завдання, які вирішуються
    За умовою завдання потрібно вирішити диференціальне рівняння y = x + cos (y/(0.3) з початковими умовами x0 = 0.7,y0 = 2.1 на інтервалі [0.7; 1.7] з кроком h = 0.1.
    За формулою методу Ейлера-Коші yi +1 (= yi + hf (xi; yi), yi 1 = yi + h (f (xi ; yi) + f (xi 1; yi +1 ())/2
    Знайдемо y1 (і y1f (x0; y0) = 0.7 + cos (2.1/(0.3) = - 0.069675x1 = x0 + h = 0.7 + 0.1 = 0.8y1 * = y0 + h * f (x0; y0) = 2.1 + 0.1 * (- 0.069675) = 2.093032y1 = y0 + h * (f (x0; y0) + f (x0 + h; y1 *))/2 = 2.1 + 0.1 * ((-
    0.069675) + 0.022266)/2 =
    = 2.09763
    Аналогічно знайдемо інші значення x і y:f (x1; y1) = 0.8 + cos (2.09763/(0.3) = 0.02757x2 = 0.8 + 0.1 = 0.9y2 * = 2.09763 + 0.1 * 0.02757 = 2.100387y2 = 2.09763 + 0.1 * (0.02757 + 0.130776)/2 = 2.105547f (x2; y2) = 0.9 + cos (2.105547/(0.3) = 0.136831x3 = 0.9 + 0.1 = 1y3 * = 2.105547 + 0.1 * 0.136831 = 2.11923y3 = 2.105547 + 0.1 * (0.136831 + 0.25321)/2 = 2.125049f (x3; y3) = 1 + cos (2.125049/(0.3) = 0.260317x4 = 1 + 0.1 = 1.1y4 * = 2.125049 + 0.1 * 0.260317 = 2.1510807y4 = 2.125049 + 0.1 * (0.260317 + 0.393124)/2 = 2.157721f (x4; y4) = 1.1 + cos (2.157721/(0.3) = 0.401751x5 = 1.1 + 0.1 = 1.2y5 * = 2.157721 + 0.1 * 0.401751 = 2.1978961y5 = 2.157721 + 0.1 * (0.401751 + 0.556089)/2 = 2.205613f (x5; y5) = 1.2 + cos (2.205613/(1.3) = 0.566933x6 = 1.2 + 0.1 = 1.3y6 * = 2.205613 + 0.1 * 0.566933 = 2.2623063y6 = 2.205613 + 0.1 * (0.566933 + 0.750302)/2 = 2.271475f (x6; y6) = 1.3 + cos (2.271475/(0.3) = 0.764362x7 = 1.3 + 0.1 = 1.4y7 * = 2.271475 + 0.1 * 0.764362 = 2.347911y7 = 2.271475 + 0.1 * (0.764362 + 0.987033)/2 = 2.359045f (x7; y7) = 1.4 + cos (2.359045/(0.3) = 1.005629x8 = 1.4 + 0.1 = 1.5y8 * = 2.359045 + 0.1 * 1.005629 = 2.4596079y8 = 2.359045 + 0.1 * (1.005629 + 1.280033)/2 = 2.473328f (x8; y8) = 1.5 + cos (2.473328/(0.3) = 1.304536x9 = 1.5 + 0.1 = 1.6y9 * = 2.473328 + 0.1 * 1.304536 = 2.6037816y9 = 2.473328 + 0.1 * (1.304536 + 1.6414317)/2 = 2.620626f (x9; y9) = 1.6 + cos (2.620626/(0.3) = 1.6721351x10 = 1.6 + 0.1 = 1.7y10 * = 2.620626 + 0.1 * 1.6721351 = 2.7878395y10 = 2.620626 + 0.1 * (1.6721351 + 2.068584)/2 = 2.807662
    Для оцінки похибки обчислень знайдемо рішення диференціальногорівняння з кроком h/2 до третьої точки:f (x0; y0) = 0.7 + cos (2.1/(0.3) = - 0.069675x1 = 0.7 + 0.05 = 0.75y1 * = 2.1 + 0.05 * (- 0.069675) = 2.096516y1 = 2.1 + 0.05 * ((- 0.069675) + (- 0.02372))/2 = 2.097665f (x1; y1) = 0.75 + cos (2.097665/(0.3) = - 0.022389x2 = 0.75 + 0.05 = 0.8

    y2 * = 2.097665 + 0.05 * (- 0.022389) = 2.096546y2 = 2.097665 + 0.05 * ((- 0.022389) + 0.026314)/2 = 2.097763f (x2; y2) = 0.8 + cos (2.097763/(0.3) = 0.027724x3 = 0.8 + 0.05 = 0.85y3 * = 2.097763 + 0.05 * 0.027724 = 2.0991492y3 = 2.097763 + 0.05 * (0.027724 + 0.079334)/2 = 2.10044f (x3; y3) = 0.85 + cos (2.10044/(0.3) = 0.080838x4 = 0.85 + 0.05 = 0.9y4 * = 2.10044 + 0.05 * 0.080838 = 2.1044819y4 = 2.10044 + 0.05 * (0.080838 + 0.135575)/2 = 2.10585f (x4; y4) = 0.9 + cos (2.10585/(0.3) = 0.137188x5 = 0.9 + 0.05 = 0.95y5 * = 2.10585 + 0.05 * 0.137188 = 2.1127094y5 = 2.10585 + 0.05 * (0.137188 + 0.195345)/2 = 2.114164f (x5; y5) = 0.95 + cos (2.114164/(0.3) = 0.19709x6 = 0.95 + 0.05 = 1y6 * = 2.114164 + 0.05 * 0.19709 = 2.1240185y6 = 2.114164 + 0.05 * (0.19709 + 0.259053)/2 = 2.125567

    Для оцінки похибки обчислень використовується правило Рунге:

    yi 1 = yih + (yih/2 - yih)/(2p - 1), де: р - порядок методу, для Ейлера - Коші р = 2
    Розрахуємо похибка обчислення в точці х = 1. Знайдемо уточненерішення: y (1) = 2.125049 + (2.125567 - 2.125049)/(22 - 1) = 2.1252216
    (ih = 2p (yih - yih/2)/(2p - 1) = 22 (2.125567 - 2.125049)/3 = 6.9

    * 10 -4
    (ih/2 = (yih - yih/2)/(2p - 1) = (2.125567 - 2.125049)/3 = 1.73 *

    10 -4

    Таблиця 1. Значення X і Y, отримані за допомогою ручного розрахунку.
    | I | X (I) | Y (I) |
    | 0 | 0.7 | 2.1 |
    | 1 | 0.8 | 2.09763 |
    | 2 | 0.9 | 2.105547 |
    | 3 | 1 | 2.125049 |
    | 4 | 1.1 | 2.157721 |
    | 5 | 1.2 | 2.205613 |
    | 6 | 1.3 | 2.271475 |
    | 7 | 1.4 | 2.359045 |
    | 8 | 1.5 | 2.473328 |
    | 9 | 1.6 | 2.620626 |
    | 10 | 1.7 | 2.807662 |

    Графік рішення диференціального рівняння представлений на малюнку 3.

    2. Апроксимації. Метод найменших квадратів

    1. ТЕОРЕТИЧНІ ВІДОМОСТІ

    Виходячи з постановки задачі, потрібно апроксимувати отримане в п.1.рішення (Таблиця 1.) параболою методом найменших квадратів, тобто потрібнознайти функцію, в даному випадку параболу, яка в точках X (I) бралаб значення, як можна більш близькі до значень Y (I). Параболає функцією з трьома параметрами: F (x) = ax2 + bx + c
    Сума квадратів різниць значень функції і рішень диференціальногорівняння (Таблиця 1.) повинна бути мінімальної, тобто:

    (ax2 + bx + c - yi) 2 => min
    Функція буде мати мінімум, коли всі приватні похідні дорівнюють нулю.

    DF/da = 0, dF/db = 0, dF/dc = 0
    Після перетворень отримаємо систему рівнянь: a11a + a12b + a13c = b1 a21a + a22b + a23c = b2 a31a + a32b + a33c = b3де a11 =, a12 = a21 =, a13 = a22 = a31 =, a23 = a32
    = xi, a33 = n + 1 b1 = yi, b2 = xi yi, b3 = yi.

    2.2. РУЧНИЙ Розрахунок коефіцієнта Системи лінійних рівнянь

    Розрахуємо коефіцієнти системи трьох лінійних рівнянь за формулами,узятим з п.2.2.:а11 = 0.74 + 0.84 + 0.94 + 1.04 + 1.14 + 1.24 + 1.34 + 1.44 + 1.54 + 1.64 +
    1.74 = 32.5094А12 = а21 = 0.73 + 0.83 + 0.93 + 1.03 + 1.13 + 1.23 + 1.33 + 1.43 + 1.53 +
    1.63 + 1.73 = 22.9680А13 = А22 = а31 = 0.72 + 0.82 + 0.92 + 1.02 + 1.12 + 1.22 + 1.32
    +1.42 +1.52 +1.62 +1.72 = 16.9400А23 = А32 = 0.7 + 0.8 + 0.9 + 1 + 1.1 + 1.2 + 1.3 + 1.4 + 1.5 + 1.6 + 1.7
    = 13.2000а33 = n + 1 = 11b1 = 2.1 * 0.72 + 2.09763 * 0.82 + 2.105547 * 0.92 + 2.125049 * 1.02 +
    2.157721 * 1.12 + 2.205613 * 1.22 + 2.271475 * 1.32 + 2.359045 * 1.42 +
    2.473328 * 1.52 + 2.620626 * 1.62 + 2.807662 * 1.72 = 40.83941b2 = 2.1 * 0.7 + 2.09763 * 0.8 + 2.105547 * 0.9 + 2.125049 * 1.0 + 2.157721
    * 1.1 + 2.205613 * 1.2 + 2.271475 * 1.3 + 2.359045 * 1.4 + 2.473328 * 1.5
    + 2.620626 * 1.6 + 2.807662 * 1.7 = 31.119972b3 = 2.1 + 2.09763 + 2.105547 + 2.125049 + 2.157721 + 2.205613 + 2.271475
    + 2.359045 + 2.473328 + 2.620626 + 2.807662 = 25.3237

    Отримаємо систему рівнянь:

    32.5094a + 22.968b + 16.94c = 40.83941

    22.968a + 16.94b + 13.2c = 31.119972

    16.94a + 13.2b + 11c = 25.3237

    Тепер потрібно вирішити цю систему методом Гаусса і знайти коефіцієнти a, b, c.

    3. Розв'язок системи рівнянь методу Гаусса

    Суть цього методу полягає в тому, що систему лінійних рівняньперетворять до системи з трикутної матрицею, а потім вирішують рівняння,починаючи з останнього.
    Вирішимо систему рівнянь, отриману в п. 2.2.:

    Перше рівняння вважається основним, його ми не змінюємо. Друге рівнянняпотрібно перетворити так, щоб перша його коефіцієнт став дорівнює нулю. Дляцього другого рівняння потрібно помножити на такий множник, щоб першакоефіцієнти першого і другого рівняння стали рівні.
    Знайдемо множник:
    ? 21 = а21/а11 = 22.968/32.5094 = 0.7065
    Помножимо на нього першого рівняння:
    32.5094a * 0.7065 + 22.968b * 0.7065 + 16.94 * 0.7065 = 40.83941 * 0.7065
    Отримаємо:
    22.968a + 16.2269b + 11.9681c = 28.853043
    Тепер потрібно це рівняння почленно відняти з другого:
    0a + 0.7131b + 1.2319c = 2.266929
    Аналогічно перетворимо третього рівняння:i31 = a31/a11 = 16.94/32.5094 = 0.5211
    32.5094a * 0.5211 + 22.968b * 0.5211 + 16.94c * 0.5211 = 40.83941 * 0.5211
    16.94a + 11.9686b + 8.8274c = 21.281416
    Віднімемо це рівняння з третього, отримаємо:
    0a +1.2314 b + 2.1726c = 4.042284
    Таким чином, вийде система, еквівалентна вихідної:

    32.5094a + 22.968b + 16.94c = 40.83941

    0.7131b + 1.2319c = 2.266929

    1.2314b + 2.1726c = 4.042284
    Третє рівняння потрібно перетворити так, щоб другий його коефіцієнт ставдорівнює нулю. Знайдемо множник:
    ? 32 = a32/a22 = 1.2314/0.7131 = 1.7268
    Помножимо другого рівняння на нього:
    0.7131b * 1.7268 + 1.2319c * 1.7268 = 2.266929 * 1.7268
    1.2314b + 2.1272c = 3.914533
    Віднімемо вийшло рівняння з третім:
    0b + 0.0454c = 0.127751
    Отримаємо трикутну матрицю, еквівалентну вихідної:

    32.5094a + 22.968b + 16.94c = 40.83941

    0.7131b + 1.2319c = 2.266929

    0.0454c = 0.127751 < br>Тепер знайдемо коефіцієнти:c = 0.127751/0.0454 = 2.813899b = (2.266929 - 1.2319 * 2.813899)/0.7131 = - 1.682111a = (40.83941 - 16.94 * 2.813899 - 22.968 * (- 1.682111))/32.5094 =
    0.978384

    Перевіримо результати обчислень, підставивши отримані значення коренів увихідну систему:

    32.5094 * 0.978384 + 22.968 * (- 1.682111) + 16.94 * 2.813899 =
    40.83941

    22.968 * 0.978384 + 16.94 * (- 1.682111) + 13.2 * 2.813899 = 31.119972

    16.94 * 0.978384 + 13.2 * (- 1.682111) + 11 * 2.813899 = 25.3237

    40.8394 (40.83941

    31.12 (31.119972

    25.3228 (25.3237

    Таким чином, рівняння апроксимуючої параболи має вигляд:

    F (x) = 0.978384x2 - 1.682111x + 2.813899

    4. Знаходження ЗНАЧЕННЯ апроксимуються ФУНКЦІЇ

    Знайдемо значення функції F (x) = 0.978384 x2 - 1.682111 x + 2.813899на інтервалі [0.7; 1.7] з кроком h = 0.1x0 = 0.7
    F (x0) = 0.978384 * 0.72 - 1.682111 * 0.7 + 2.813899 = 2.118622x1 = x0 + h = 0.7 + 0.1 = 0.8
    F (x1) = 0.978384 * 0.82 - 1.682111 * 0.8 + 2.813899 = 2.095734x2 = 0.8 + 0.1 = 0.9
    F (x2) = 0.978384 * 0.92 - 1.682111 * 0.9 + 2.813899 = 2.092711x3 = 0.9 + 0.1 = 1.0
    F (x3) = 0.978384 * 1.02 - 1.682111 * 1.0 + 2.813899 = 2.109553x4 = 1.0 + 0.1 = 1.1
    F (x4) = 0.978384 * 1.12 - 1.682111 * 1.1 + 2.813899 = 2.14626x5 = 1.1 + 0.1 = 1.2
    F (x5) = 0.978384 * 1.22 - 1.682111 * 1.2 + 2.813899 = 2.202831x6 = 1.2 + 0.1 = 1.3
    F (x6) = 0.978384 * 1.32 -1.682111 * 1.3 + 2.813899 = 2.279266x7 = 1.3 + 0.1 = 1.4
    F (x7) = 0.978384 * 1.42 - 1.682111 * 1.4 + 2.813899 = 2.375567x8 = 1.4 + 0.1 = 1.5
    F (x8) = 0.978384 * 1.52 - 1.682111 * 1.5 + 2.813899 = 2.491732x9 = 1.5 + 0.1 = 1.6
    F (x9) = 0.978384 * 1.62 - 1.682111 * 1.6 + 2.813899 = 2.627762x10 = 1.6 + 0.1 = 1.7
    F (x10) = 0.978384 * 1.72 - 1.682111 * 1.7 + 2.813899 = 2.783656

    5. РОЗРАХУНОК Похибка апроксимації.

    Для обчислення похибки апроксимації обчислимо величинусередньоквадратичне відхилення:


    Тут yi - значення рішення диференціального рівняння, отримані вп.1.2. (див. Таблицю 1), F (xi) - значення апроксимуючої функції при тихж значеннях xi, отримані в п. 4. Їх різниця показує величинувідхилення апроксимуючої функції від аппроксіміруемой у вузлах xi.
    Розрахуємо похибка апроксимації:
    0 = F (x0) - y0 = 2.118622 - 2.1 = 0.018622
    02 = 3.46779 * 10 - 4
    1 = F ( x1) - y1 = 2.095734 - 2.09763 = - 0.001896
    12 = 3.59482 * 10 - 6
    2 = F (x2) - y2 = 2.092711 - 2.105547 = - 0.012836
    22 = 1.64763 * 10 - 4 < br> 3 = F (x3) - y3 = 2.109553 - 2.125049 = - 0.015496
    32 = 2.40126 * 10 - 4
    4 = F (x4) - y4 = 2.14626 - 2.157721 = - 0.011461
    42 = 1.31355 * 10 - 4
    5 = F (x5) - y5 = 2.202831 - 2.205613 = - 0.002782
    52 = 7.73953 * 10 - 6
    6 = F (x6) - y6 = 2.279266 - 2.271475 = 0.007791
    62 = 6.06997 * 10 - 5
    7 = F (x7) - y7 = 2.375567 - 2.359045 = 0.06522
    72 = 2.72977 * 10 - 4
    8 = F (x8) - y8 = 2.491732 - 2.473328 = 0.08404
    82 = 3.38707 * 10 - 4
    9 = F (x9) - y9 = 2.627762 - 2.620626 = 0.007136
    92 = 5.09225 * 10 - 5
    10 = F (x10) - y10 = 2.783656 - 2.807662 = - 0.024006
    102 = 5.76288 * 10 -4

    (= (0.0021939515 = (1.9945013 * 10 - 4 = 0.014122681 1.412268 *
    10 - 2

    Дані розрахунків знесені в Таблицю 2.

    Таблиця 2. Розрахунок похибки апроксимації.
    | I | xi | yi | F (xi) | i | i2 |
    | 0 | 0.7 | 2.1 | 2.118622 | 0.018622 | 3.46779 * 10 - 4 |
    | 1 | 0.8 | 2.09763 | 2.095734 | - 0.001896 | 3.59482 * 10 - 6 |
    | 2 | 0.9 | 2.105547 | 2.092711 | - 0.012836 | 1.64763 * 10 - 4 |
    | 3 | 1.0 | 2.125049 | 2.109553 | - 0.015496 | 2.40126 * 10 - 4 |
    | 4 | 1.1 | 2.157721 | 2.14626 | - 0.011461 | 1.31355 * 10 - 4 |
    | 5 | 1.2 | 2.205613 | 2.202831 | - 0.002782 | 7.73953 * 10 - 6 |
    | 6 | 1.3 | 2.271475 | 2.279266 | 0.007791 | 6.06997 * 10 - 5 |
    | 7 | 1.4 | 2.359045 | 2.375567 | 0.06522 | 2.72977 * 10 - 4 |
    | 8 | 1.5 | 2.473328 | 2.491732 | 0.08404 | 3.38707 * 10 - 4 |
    | 9 | 1.6 | 2.620626 | 2.627762 | 0.007136 | 5.09225 * 10 - 5 |
    | 10 | 1.7 | 2.807662 | 2.783656 | - 0.024006 | 5.76288 * 10 - 4 |

    Графік похибки апроксимації представлений на малюнку 4.

    Графік апроксимуючоїфункції представлений на малюнку 5.

    6. ПОБУДОВА БЛОК-СХЕМИ І РОЗРОБКА ПРОГРАМИ Апроксимація

    Блок-схема алгоритму розв'язання задачі апроксимації методом найменшихквадратів представлена на Рис. 6.
    Першим кроком здійснюється введення значень X (I), Y (I), N.
    Далі обнуляються значення всіх коефіцієнтів. У циклі розраховуютьсякоефіцієнти 3-х лінійних рівнянь. (див. п. 2.2). Після циклуприрівнюємо однакові коефіцієнти в матриці. Потім виконуєтьсяпідпрограма рішення лінійних рівнянь.
    Наступним кроком відбувається опис функції користувача:

    FNY (X) = K (1) X 2 + K (2) X + K (3)

    Наступний цикл знаходить значення апроксимуючої функції, різниця міжцими значеннями і корінням диференціального рівняння Y (I), квадратрізниці, а також проводить їх підсумовування. Далі знаходиться величинапохибки апроксимації і всі дані виводяться на екран.
    Загальна програма рішення диференціального рівняння з подальшоюапроксимацією результатів представлена на рис. 7 разом з програмоюрішення диференціального рівняння, так як з неї отримують значення X (I)і Y (I).

    Рис. 6. Блок-схема алгоритму розв'язання задачі апроксимації методом найменших квадратів.

    CLS
    PRINT "Знаходження коефіцієнтів за методом Ейлера - Коші"
    X0 = 0.7
    XN = 1.7
    Y0 = 2.1
    H = 0.1
    N = (XN - X0)/H
    DIM X (N)
    DIM Y (N)
    X (0) = X0
    Y (0) = Y0
    FOR I = 0 TO N - 1
    X (I + 1) = X (I) + H
    Y (I + 1) * = Y (I) + H * (X ( I) + COS (Y (I)/SQR (0.3)))
    Y (I +1) = Y (I) + H * ((X (I) + COS (Y (I)/SQR (0.3 )))+( X (I +1) + COS (Y (I +1) */
    SQR (0.3 ))))/ 2
    PRINT "X ("; I; ")="; X (I),, "Y ("; I; ")="; Y (I)
    NEXT I
    I = 10: PRINT "X ("; I; ")="; X (I ), "Y ("; I; ")="; Y (I)
    PRINT "Знаходження коефіцієнтів за методом найменших квадратів"
    PRINT "і похибки апроксимації" a11 = 0: b1 = 0: a12 = 0 : b2 = 0: a13 = 0: b3 = 0: a23 = 0: a33 = N + 1
    FOR I = 0 TO N a11 = a11 + X (I) ^ 4 a12 = a12 + X (I) ^ 3 a13 = a13 + X (I) ^ 2 a23 = a23 + X (I) b1 = b1 + (X (I) ^ 2) * Y (I) b2 = b2 + X (I) * Y (I) b3 = b3 + Y (I)
    NEXT I a21 = a12: a22 = a13: a31 = a13: a32 = a23: S = 0
    REM Початок підпрограми рішення СЛР методом Гаусса
    DIM К (3) m21 = a21/a11 m31 = a31/a11 a22 = a22 - a12 * m21 a23 = a23 - a13 * m21 b2 = b2 - b1 * m21 a32 = a32 - a12 * m31 a33 = a33 - a13 * m31 b3 = b3 - b1 * m31 m32 = a32/a22 a33 = a33 - a23 * m32 b3 = b3 - b2 * m32
    К (3) = b3/a33
    К (2) = (b2 - К (3) * a23)/a22
    До (1) = (b1 - К (3) * a13 - К (2) * a12)/a11
    REM Кінець підпрограми рішення СЛР методом Гаусса
    DIM F (N)
    DEF FNY (X) = K (1) * X ^ 2 + K (2) * X + K (3)
    PRINT "-------------------- -----------------------------------------------< br> ----------------"< br> PRINT "X (I) | y (I) | F (x (I)) | F (x (I)) - y ( I) | d ^ 2 "
    PRINT "-------------------------------------- -----------------------------< br> ----------------"< br> FOR I = 0 TO N
    F (I) = FNY (X (I))
    D = F (I) - Y (I)
    S = S + D ^ 2
    PRINT X (I), Y (I), f (I), D, D ^ 2
    NEXT I
    E = SQR (S/(N + 1))
    PRINT "Похибка ="; E
    END

    ЛІТЕРАТУРА

    1. Вітенберг І.М. Програмування на мові БЕЙСІК. Москва. «Радіо та зв'язок» .1991.

    2. Гері М., Джонсон Д. Обчислювальні машини і труднорешаемие завдання.

    Пер. з англ. - Москва. «МИР» 1982.

    3. Горбунова Н.Г. Методичні вказівки до лабораторних робіт по курсу

    Інформатика, ч.2 «Чисельні методи» - Хабаровськ, 1996.

    4. Спесивцев А.В. Посібник користувача з мови Бейсік. Москва.

    «Радіо і зв'язок». 1992. «ВЕСТА».

    5. Методичні вказівки для оформлення пояснювальних записок курсових і дипломних проектів - Хабаровськ, 1997.


    -----------------------

    11

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status