Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Моделювання об"єктів, процесів за допомогою систем лінійних рівнянь

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

M — кількість рівнянь Для подальшого ведення розрахунків необхідно отримати з даної системи приведену. Отримати приведену систему можна якщо виконується умова: діагональні коефіцієнти мають бути більшими за суму інших коефіцієнтів в рядку. Наближені методи вирішення систем лінійних рівнянь дозволяють отримати значення коренів системи з заданою точністю у вигляді межі послідовності деяких… Читати ще >

Моделювання об"єктів, процесів за допомогою систем лінійних рівнянь (реферат, курсова, диплом, контрольна)

Міністерство освіти і науки України Київський Національний Університет технологій та дизайну Факультет технологічного обладнення та систем управління Кафедра автоматизації і комп’ютерних систем

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

з дисципліни: «Математичне моделювання на ЕОМ»

Київ - 2008

Зміст

1. Поняття математичного моделювання

2. Теоретичні відомості методу ітерації

3. Блок-схема методу

4. Опис програми в TurboPascali

5. Інструкція до програми

6. Контрольні приклади Список використаної літератури

1. Поняття математичного моделювання

Поняття математичного моделювання трактується різними авторами по своєму. Ми будемо його пов’язувати з нашою спеціалізацією — прикладна математика. Під математичним моделюванням розуміємо метод дослідження процесів або явищ шляхом побудови їхніх математичних моделей і дослідження цих процесів. В основу методу покладемо адекватність між змінними складеного рівняння і досліджуваного процесу. На практиці ці процеси не будуть абсолютно ідентичні. Проте можливо удосконалювати математичну модель, яка більш точно буде описувати цей процес. Треба пам’ятати, що в останньому випадку, як правило, математичні рівняння ускладнюються. А це означає, що їх моделювання на ЕОМ потребує більше часу, або ж більше не визначаючих обчислювальних комплексів.

Схема таких досліджень починається з постановки задачі і закінчується проведенням ефективного обчислювального експерименту. Її умови можна записати в такій формі:

а) постановка задачі;

б) побудова математичної моделі;

в) перевірка її адекватності;

г) узагальнення та теоретичне дослідження даного класу задач;

д) створення програмного забезпечення;

е) проведення обчислювального експерименту;

ж) впровадження цих результатів в виробництво.

Під моделлю розуміють об'єкт будь-якої природи, який здатний замінити досліджуваний об'єкт за його головними ознаками.

Форми завдання моделей:

1. Інваріантна — задається вираз традиційною математичною формулою.

2. Алгоритмічний — запис у вигляді алгоритму.

3. Графічна або схематична — у вигляді схем, діаграм і т.д.

4. Аналітична — початковий розв’язок аналітичних завдань.

Елементи моделей:

1) Вхідні дані, які можуть бути детерміновані або випадкові.

2) Шукані змінні (безперервні, дискретні).

3) Залежності та рівняння, що дають змогу зв’язати вхідні дані та шукані змінні.

2. Метод ітерацій для розв'язку систем лінійних рівнянь

математичний моделювання ітерація лінійний рівняння При проведенні статичних та динамічних досліджень механічних систем мають справу з системами лінійних рівнянь. Тут можна вести мову про їх використання не лише при вивчення рівноваги меxанічних об'єктів, але й при вирішенні систем диференційних рівнянь як звичайних, так і тих, що описують поведінку механічних систем з великою кількістю степенів свободи.

Наближені методи вирішення систем лінійних рівнянь дозволяють отримати значення коренів системи з заданою точністю у вигляді межі послідовності деяких векторів. Процес побудови такої послідовності називається ітераційним.

Ефективність застосування наближених методів залежить від вдалого вибору початкового вектору та швидкості сходження процесу.

Постановка задачі. Нехай існує система з n лінійних рівнянь, що має n невідомих:

б11… бnn — коефіцієнти при невідомих величинах;

x1…xn — невідомі (при вирішенні задач статики та динаміки це можуть бути реакції зв’язків, узагальнені координати, швидкості та прискорення);

b1…bm — постійні величини;

n — число невідомих, що входить в систему;

m — кількість рівнянь Для подальшого ведення розрахунків необхідно отримати з даної системи приведену. Отримати приведену систему можна якщо виконується умова: діагональні коефіцієнти мають бути більшими за суму інших коефіцієнтів в рядку.

Вважаючи що діагональні коефіцієнти не рівні нулю () запишемо дану систему в наступному вигляді:

Якщо прийняти то маємо:

Далі необхідно перевірити чи буде процес сходитися до розв’язку. Ітераційний процес та його сходження залежать від величини елементів матриці таким чином: якщо сума модулів елементів рядків або сума модулів елементів стовбців менша одиниці, то процес ітерації для даної системи сходиться до єдиного розв’язку незалежно від вибору початкового вектора.

(і=1,2,…n) (j=1,2…n)

Сума модулів коефіцієнтів кожного приведеного рівняння має бути меншою за одиницю:

¦б12¦+¦б13¦‹1

¦б21¦+¦б23¦‹1

¦бn1¦+¦бn2¦‹1

Процес ітерації заздалегіть сходиться, якщо елементи матриці задовольняють нерівність ¦бij¦<1/n, де n — число невідомих даної системи.

Наступним кроком обираємо початкове наближення до невідомих. За нульове наближення приймемо значення вільних коефіцієнтів, подальші наближення знаходимо за формулами:

Умовою закінчення процесу розрахунку є:

¦x1(n)-x1(n-1)¦?е

¦x2(n)-x2(n-1)¦?е

¦xn(n)-xn(n-1)¦?е де е — точність експерименту.

3. Блок-схема методу

4. Код програми

uses crt;

var a: array[1.4,1.5] of real;

x:array[1.4,1.2] of real;

s, e: real;

i, j, n:integer;

t:boolean;

Begin

writeln ('Vvedit? kilkist? rivnjan?');

readln (n);

writeln ('Vvedit? povnу matricy sustemu');

for i:=1 to n do

for j:=1 to n+1 do

read (a[i, j]);

t:=true;

for i:=1 to n do

begin

s:=0;

for j:=1 to n+1 do

if i<>j then s:=s+a[i, j];

t:=t and (s

end;

if not t then

begin

writeln ('Umova danoi sustemu ne vukonyetsja');

readkey;

halt (1);

end;

for i:=1 to n do

for j:=1 to n+1 do

if i<>j then a[i, j]: =a[i, j]/a[i, i];

writeln ('Vvedit? to4nist? rozraxynky');

readln (e);

for i:=1 to n do

x[i, 1]: =a[i, n+1];

repeat

for i:=1 to n do

x[i, 2]: =x[i, 1];

for i:=1 to n do

begin

x[i, 1]: =a[i, n+1];

for j:=1 to n do

if i<>j then x[i, 1]: =x[i, 1]-a[i, j]*x[j, 1];

end;

t:=(abs (x[1,1]-x[1,2])

for i:=2 to n do

t:=t and (abs (x[i, 1]-x[i, 2])

until t;

for i:=1 to n do

writeln ('x', i,'=', x[i, 1]: 2:3);

readln;

end.

5. Інструкція програми

Програма починається з уведення необхідної користувачеві кількості рівнянь системи. Наступний крок — завдання матриці системи. Програма автоматично перевіряє умову побудови введеної системи і, якщо це можливо, перетворює відповідним образом задану систему. Далі вводиться точність і виконуються необхідні обчислення, після чого виводиться на екран шукані корні заданої системи.

Код програми починається з опису змінних і двох масивів. За допомогою команд writeln, readln відбувається виведення/введення інформації відповідно.

Для реалізації методу ітерації в даній роботі ми користуємося циклами

For та If.

6. Контрольні приклади

Приклад № 1

Приклад № 2

Приклад № 3

Список використаної літератури

1. В. Е. Краскевич, К. Х. Зеленський, В. И. Гречко «Чисельні методи в інженерних дослідженнях «, Київ 1986.

2. Н.И. Даніліна, Н. С. Дубровська «Чисельні методи. Посібник для технікумів», Москва 1976.

3. С. Івановский «Borland Pascal 7.0», 2001.

4. В. Ю. Щербань, О.І. Волков, Ю. Ю. Щербань «Математичні моделі», Київ 2003.

Показати весь текст
Заповнити форму поточною роботою