Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

СИСТЕМИ НЕЛІНІЙНИХ РІВНЯНЬ. МЕТОД НЬЮТОНА ТА -АЛГОРИТМ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт до лабораторної роботи
Предмет:
СП
Група:
СІ-22

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ Національний університет “Львівська політехніка” / Звіт до лабораторної роботи №4 СИСТЕМИ НЕЛІНІЙНИХ РІВНЯНЬ. МЕТОД НЬЮТОНА ТА -АЛГОРИТМ З курсу «Комп’ютерні методи дослідження систем керування» Варіант №6 Мета роботи: ознайомитися з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь – методом Ньютона та екстраполяційним методом – -алгоритмом. Завдання: № п/п Завдання (метод та початкові наближення коренів) відносна похибка у відсотках %, для -алгоритму: ,    Група 1 Група 2 Група 3  6 Стандартний метод Ньютона (оберт.матриці методом Гауса з вибор. гол. ел-тів по рядку ) Метод січних (оберт.матриці методом Гауса з вибор. гол. ел-тів по стовпцю ) -алгоритм   №6  поч. наближення  Короткі теоретичні відомості: / Опис алгоритму На початку алгоритму задаємо початкове наближення , для , та відносну похибку  у відсотках. Встановлюємо значення для одиничної матриці . Обчислюємо значення елементів вектора функцій  та елементів матриці Якобі . Здійснюємо обертання матриці Якобі  методом Гауса (з вибором головного елемента по рядку, стовпцю чи по всій матриці). Алгоритм обертання матриці методом Гауса наведено в інструкції до лабораторної роботи № 2. Єдиною модифікацією є  (замість базової матриці  беремо ). Згідно ітераційної формули обчислюємо наступне наближення , для . Здійснюємо перевірку умови збіжності. Якщо вона не виконується, то процес уточнення повторюємо (п.3). Для перевірки вірності роботи алгоритму підставляємо наші знайдені значення  в систему рівнянь . Значення функцій , для , мають бути близькими нулю, в залежності від вибраного значення . Список ідентифікаторів, констант, змінних, функцій, методів, використаних у програмі та їх пояснення: #include "math.h"- включення математичної бібліотеки; x[2] – матриця-стовпець розв`язку системи рівнянь, J[2][2] – матриця Якобі, ee=0.0001 – константа, значення відносної похибки, n=2– кількість рівнянь в системі, V[2][2], C[2][2] – матриці, що використовуються при обертанні матриці Якобі, Е – одинична матриця, f [i] – вектор функцій, pow – функція піднесення до степеня, fabs – обчислення модуля TForm1 *Form1 – глобальний показчик на форму; exp – обчислення значення експоненти; Текст програми: //--------------------------------------------------------------------------- #include <vcl.h> #include <math.h> #pragma hdrstop #include "Lab4_6.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { double x[2]={1,1}, x_old[2]={1,1}, J[2][2],f[2], ee=0.0001; bool cond_N; int n=2; double INVERS[2][2], E[2][2],EE[2][2]; double V[2][2], C[2][2], P[2], X[2], Y[2]; for (int i=0; i<n; i++) for (int j=0; j<n; j++) if (i==j) E[i][j]=1; else E[i][j]=0; do { cond_N=false; f[0]=x[0]/(pow(x[0],2)+pow(x[1],2))+0.4-x[0]; f[1]=-x[1]/(pow(x[0],2)+pow(x[1],2))+1.4-x[1]; J[0][0]=(pow(x[1],2)-pow(x[0],2))/pow((pow(x[1],2)+pow(x[0],2)),2)-1; J[0][1]=-x[0]*2*x[1]/pow((pow(x[1],2)+pow(x[0],2)),2); J[1][0]=x[1]*2*x[0]/pow((pow(x[1],2)+pow(x[0],2)),2); J[1][1]=-(pow(x[0],2)-pow(x[1],2))/pow((pow(x[1],2)+pow(x[0],2)),2)-1; for (int b=0; b<n; b++) { for (int i=0; i<n; i++) for (int j=0; j<n; j++) {V[i][j]=J[i][j]; P[i]=E[i][b];} for (int k=0; k<n; k++) { Y[k]=P[k]/V[k][k]; for (int i=k+1; i<n; i++) { P[i]+=-V[i][k]*Y[k]; for (int j=k+1; j<n; j++) { C[k][j]=V[k][j]/V[k][k]; V[i][j]+=-V[i][k]*C[k][j]; } } } X[n-1]=Y[n-1]; for (int i=n-2; i>=0; i--) { X[i]=0; for (int j=i+1; j<...
Антиботан аватар за замовчуванням

16.04.2017 11:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини