Математическое моделирование и численные методы в решении технических задач

Курсовой проект - Математика и статистика

Другие курсовые по предмету Математика и статистика

»ьников.

 

4.Вывод о трех методах

 

Каждый способ приближённого решения определённого интеграла имеет свои преимущества и недостатки, в зависимости от поставленной задачи следует использовать конкретные методы. Если необходимо быстро получить решение, но нет необходимости в большой точности ответа, следует воспользоваться одним из методов прямоугольника. Если же необходимо получить наиболее точный результат, идеально подходит метод Симпсона. Метод трапеций даёт ответ более точный, чем метод прямоугольников, но методу Симпсона он сильно уступает, этот метод можно назвать золотой серединой между двумя другими.

Решение систем линейных алгебраических уравнений

 

4.1 Метод Гаусса

 

Теоретические сведения

Метод Гаусса прекрасно подходит для решения систем линейных алгебраических уравнений (СЛАУ). Он обладает рядом преимуществ по сравнению с другими методами:

во-первых, нет необходимости предварительно исследовать систему уравнений на совместность;

во-вторых, методом Гаусса можно решать не только СЛАУ, в которых число уравнений совпадает с количеством неизвестных переменных и основная матрица системы невырожденная, но и системы уравнений, в которых число уравнений не совпадает с количеством неизвестных переменных или определитель основной матрицы равен нулю;

в-третьих, метод Гаусса приводит к результату при сравнительно небольшом количестве вычислительных операций.

Допустим, нам дана система из нескольких уравнений с неизвестными переменными.

Записываем эту совокупность в матричном виде, и можно производить некоторые действия для получения неизвестных переменных:

поменять местами два уравнения,

умножить обе части какого-либо уравнения на произвольное и отличное от нуля действительное (или комплексное) число k,

к обеим частям какого-либо уравнения прибавить соответствующие части другого уравнения, умноженные на произвольное число к, таким образом, мы получим корни ур-ев.

 

Блок схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст задачи

:text;

a:array[1..1000,1..1000] of real;:real;,m,i,j,k:integer;:array[1..1000] of real;(t , H:\Phoenix\3.txt);(t);not eof(t) do:=i+1;:=0;not eoln(t) do:=j+1;(t,a[i,j]);;(t);;:=i;i:=1 to n do beginj:=1 to n+1 do(a[i,j], );writeln; end;;i:= 1 to n-1 doj:=i+1 TO n do begin:=a[i,i]/a[j,i];k:=i to n+1 do[j,k]:=a[i,k]-a[j,k]*c;;i:=1 to n do beginj:=1 to n+1 do(a[i,j], );writeln; end;;[n]:=a[n,n+1]/a[n,n];(X[n]:0:6, );i:= n-1 downto 1 do begin[i]:=a[i,n+1]/a[i,i];j:=i+1 to n do[i]:=x[i]-a[i,j]*x[j]/a[i,i];(x[i]:0:7, );;

close(t);.

 

Результаты

 

13-7562571281-21117369-810

Корни уравнений данной системы: х1= 2; х2= -1; х3= 3; х4= 1;

 

4.2 Метод Ньютона

 

Теоретические сведения

Чтобы численно решить уравнение ,:"> методом простой итерации .

">Для наилучшей сходимости метода в точке очередного приближения должно выполняться условие . Решение данного уравнения ищут в виде

, тогда:

 

В предположении, что точка приближения достаточно близка к корню ">, и что заданная функция непрерывна , окончательная формула для такова:

 

 

">С учётом этого функция определяется выражением:

 

 

Эта функция в окрестности корня осуществляет сжимающее отображение, и алгоритм нахождения численного решения уравнения сводится к итерационной процедуре вычисления:

 

Рис. Иллюстрация метода Ньютона

уравнение алгебраическое интеграл фурье

Рис иллюстрирует работу метода Ньютона. В данном случае вторая производная функции положительна, поэтому в качестве начального приближения выбрана точка хо = b. Как видно из рисунка, метод имеет очень быструю сходимость среди всех методов решения нелинейных уравнений: обычно заданная точность достигается за 2-3 итерации

Блок схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст задачи

 

ithenx[i]:=x[i]-(a[i,j]*xx[j])/a[i,i];(x[,i,]=,x[i]:0:2,);;">var a:array[1..100,1..100] of integer;:text;,j,m,n,k:byte;,ed,alfa:real;d:boolean; x,xx:array[1..100] of real;:=0.001;(t,H:\Phoenix\4.txt);(t);not eof(t) do:=i+1;:=0;not eoln(t) do:=j+1;(t,a[i,j]);;(t);;(t);:=i;:=j;i:=1 to n do beginj:=1 to m do(a[i,j], );;;:=x;:=k+1;(k=,k, );i:=1 to n do[i]:=a[i,n+1]/a[i,i];j:=1 to n doj<>i then x[i]:=x[i]-(a[i,