DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Метод Ньютона для розв’язування систем нелінійних рівнянь

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

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

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

Рік:
2007
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмічні основи криптології
Група:
ІБ – 44
Коротко про документ

Про що ця робота

У звіті наведено результати виконання лабораторної роботи з реалізації методу Ньютона. Описано алгоритм розв’язання систем нелінійних рівнянь мовою Сі.

У роботі розглядаються

  • Метод Ньютона
  • Нелінійні рівняння
  • Мова програмування Сі
  • LU-розклад
  • Чисельні методи
  • Криптологія

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Блок-схема алгоритму
  4. Текст програми
  5. Результат виконання програми
  6. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Викладач кафедри

Ключові поняття

метод Ньютонасистема нелінійних рівняньLU-розкладкінцеві різницімова Сіматрицяпохіднаалгоритмпрограмапохибка

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет “Львівська політехніка” Звіт про виконання лабораторної роботи №3 з курсу “Алгоритмічні основи криптології” на тему: “ Метод Ньютона для розв’язування систем нелінійних рівнянь ” Мета роботи: ознайомитися з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь – методом Ньютона. Завдання: написати програму на мові програмування Сі яка б розв’язувала систему нелінійних рівнянь методом Ньютона без обертання матриці, розв’язок матриці методом LU-розкладу, а обчислення похідних методом кінцевих різниць. x1 = x12 – x22 – 0.1 , x2 = 2x1x2 + 0.1 , x10 = 0, x20 = 0 Блок – схема алгоритму роботи програми    Блок-схема функції fynct  Текст програми: #include <stdio.h> #include <math.h> #include <conio.h> #define n 2 const int g=1; const double e=0.00001; const double h=0.00000001; double fynct(double *x, int j) { if (j==0) return (x[0]-x[0]*x[0]-x[1]*x[1]+0.1); else return (x[1]-2*x[0]*x[1]-0.1); } main() { double x1[n],x2[n],f[n],jac[n][n]; int i,j,k,m; double s,s1,max; for(i=0;i<n;i++) x2[i]=x1[i]=0; do { //Kintsevux poxidnuh for(i=0;i<n;i++) for(j=0;j<n;j++) { f[i]=-fynct(x1,i); x2[j]+=h; jac[i][j]=(fynct(x2,i)-fynct(x1,i))/h; x2[j]-=h; } //Rozvjaz metodom LU jac[0][1]/=jac[0][0]; f[0]/=jac[0][0]; for(k=1;k<n;k++) { for(i=k;i<n;i++) for(m=0;m<=k-1;m++) jac[i][k]-=jac[i][m]*jac[m][k]; if (k==(n-1)) goto g; for(j=k+1;j<n;j++) { s1=0; for(m=0;m<=k-1;m++) s1+=jac[k][m]*jac[m][j]; jac[k][j]=(jac[k][j]-s1)/jac[k][k]; } g: s=0; for(m=0;m<=k-1;m++) s+=jac[k][m]*f[m]; f[k]=(f[k]-s)/jac[k][k]; } for(i=0;i<n;i++) x2[i]=0; x2[n-1]=f[n-1]; for(i=n-2;i>=0;i--) { s=0; for(m=i+1;m<n;m++) s+=jac[i][m]*x2[m]; x2[i]=f[i]-s; } max=fabs((x2[0])/x1[0]); for(i=1;i<n;i++) if (max<fabs(x2[i]/x1[i])) max=fabs((x2[i])/x1[i]); for(i=0;i<n;i++) x1[i]+=x2[i]; } while (max>=e); printf("Results:\n"); for(i=0;i<n;i++) printf("x%d=%lf\n",i+1,x1[i]); getchar(); printf("Perevirka:\n"); for(i=0;i<n;i++) printf("%lf\n",fabs(fynct(x1,i))); getchar(); } Результат виконання програми:  Висновок: Розв’язання систем нелінійних алгебраїчних рівнянь методом Ньютона можна досить легко реалізувати на ЕОМ за допомогою програми в середовищі Сі. Розв’язання таких систем на ЕОМ є дуже актуальним, оскільки цей процес є набагато легшим та короткотривалішим ніж розв’язання систем нелінійних рівнянь вручну.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!