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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Математика
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    496,98 Кб
  • Опубликовано:
    2012-08-15
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Содержание


1. Операции с файлами

. Решение иррациональных уравнений

.1 Метод хорд

.2 Метод половинного деления

. Вычисление определенного интеграла

.1 Метод парабол (Симпсона)

.2 Метод прямоугольников

.3 Метод трапеций

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

.1 Метод Гаусса

.2 Метод Ньютона

.3 Метод Зейделя

. Решение дифференциальных уравнений

.1 Метод Эйлера

.2 Метод Рунге-Кутта

. Ряды Фурье

Список литературы

1. 
Операции с файлами

Задача заключается в том, что бы изменить элементы исходной таблицы (массива) и вывести полученный результат в таком же виде.

В данном случае мы каждый элемент таблицы умножили на 3.

Текст задачи:

c=3;t,p:text; a,b:array [1..10,1..10] of integer;,j,n,m,k:integer;(t,'H:\Phoenix\1.txt');(p,'H:\ Phoenix\2.txt');(t); i:=0;not eof(t) doi:=i+1; j:=0;not eoln(t) doj:=j+1; read(t,a[i,j]);; readln(t); end;:=i; m:=j;i:=1 to n dofor j:=1 to m do(a[i,j]:4); writeln; end; writeln;i:=1 to n do beginj:=1 to m do begin[i,j]:=a[i,j]*3;(b[i,j]:4); end;; end;(p);i:=1 to n do beginj:=1 to m do(p,b[i,j],' ');(p); end; close(p);.

Исходные данные:

2

3

1

5

1

2

0

3

-4

-8

-9

1


Полученные данные:

6

9

3

15

3

6

0

9

-12

-24

-27

3


Вывод:

Данный способ работы с файлами достаточно прост и удобен. В данном случае выполняется всего одно действие (умножение на 3). Данные файла преобразуются не вручную, а автоматически.

2.     Решение иррациональных уравнений

.1     Метод хорд

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

Будем искать корень функции . Выберем две начальные точки (;) и (;) и проведем через них прямую. Она пересечет ось абсцисс в точке (;0). Теперь найдем значение функции с абсциссой . Временно будем считать  корнем на отрезке [;]. Пусть точка  имеет абсцисcу  и лежит на графике. Теперь вместо точек  и  мы возьмём точку  и точку . Теперь с этими двумя точками проделаем ту же операцию и так далее, то есть будем получать две точки  и  и повторять операцию с ними. Отрезок, соединяющий последние 2 точки, пересекает ось абсцисс в точке, значение абсциссы которой можно приближённо считать корнем. Эти действия нужно повторять до тех пор, пока не получим значение корня с нужным приближением.

Рис. 1 Иллюстрация метода хорд

 

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

Блок схема
































Текст задачи

var a,b,e,c,cc,ee:real;

k:integer;f(x: real):real;:=x*x-2*x;;:=1;:=4;:=0.001;:=c;:=(b*f(a)-a*f(b))/(f(a)-f(b));:=k+1;f(a)*f(c)<0 then b:=c else a:=c;:=abs((c-cc)/c);(k,' ',c:0:5,' ',e:0:5,' ',f(c):0:5);e<=ee;;.

Результаты

а=1, b=4

k

c

e

F(c)

1

1.33333

1.00000

-0.88889

2

1.60000

0.16667

-0.64000

3

1.77778

0.10000

-0.39506

4

1.88235

0.05556

-0.22145

5

1.93939

0.02941

-0.11754

6

1.96923

0.01515

-0.06059

7

1.98450

0.00769

-0.03077

8

1.99222

0.00388

-0.01550

9

1.99610

0.00195

-0.00778

10

1.99805

0.00097

-0.00390


Вывод

Достоинство метода хорд: очень быстрая сходимость по сравнению с методом половинного деления к заданной точности.

2.2 Метод половинного деления

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

Метод половинного деления при нахождении корня уравнения f(x)=0 состоит в делении пополам отрезка [a; b], где находится корень. Затем анализируется изменение знака функции на половинных отрезках, и одна из границ отрезка [a; b] переносится в его середину. Переносится та граница, со стороны которой функция на половине отрезка знака не меняет. Далее процесс повторяется. Итерации прекращаются, когда длина интервала [a; b] становится меньше заданной погрешности нахождения корня.

Разделим отрезок [a, b] пополам точкой . Если  (что практически наиболее вероятно), то возможны два случая: либо f(x) меняет знак на отрезке [a, c] (Рис. 2), либо на отрезке [c, b] (Рис. 3)

 Рис. 2

Рис. 3

Блок схема

Текст задачи

var a,b,e,c,cc,ee:real;:integer;f(x: real):real;:=x*x-2*x;;:=1;:=4;:=0.001;:=c;:=(a+b)/2;:=k+1;f(a)*f(c)<0 then b:=c else a:=c;:=abs((c-cc)/c);(k,' ',c:0:5,' ',e:0:5,' ',f(c):0:5,' ');e<=ee;;.

Результаты:

a=1;b=4

k

c

F(c)

e

1

2.50000

1.25000

1.00000

2

1.75000

-0.43750

0.42857

3

2.12500

0.26563

0.17647

4

1.93750

-0.12109

0.09677

5

2.03125

0.06348

0.04615

6

1.98438

-0.03101

0.02362

7

2.00781

0.01569

0.01167

8

1.99609

-0.00780

0.00587

9

2.00195

0.00391

0.00293

10

1.99902

-0.00195

0.00147

11

2.00049

0.00098

0.00073


Вывод:

Недостаток метода половинного деления: медленная сходимость по сравнению с методом хорд к заданной точности. Достоинство: небольшой алгоритм вычисления значения функции.

3. 
Вычисление определенного интеграла

.1 Метод парабол

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

Метод парабол - метод вычисления корней многочлена с комплексными коэффициентами, и позволяет найти все корни многочлена без предварительной информации о начальном приближении.

Пусть функция y = f(x) непрерывна на отрезке [a; b] и нам требуется вычислить определенный интеграл. Разобьем отрезок [a; b] на n элементарных отрезков длины 2h=(b-a)/n точками [x(2i-2);x(2i)]. Пусть точки x(2i-2) (i=1,2,3..n) являются серединами отрезков [x(2i-2);x(2i)] соответственно. В этом случае узлы определяются равенством x(i)=a+h*i. Суть метода Симпсона (парабол) заключается в том, что на каждом интервале [x(2i-2);x(2i)] подынтегральная функция приближается квадратичной параболой y=a(i)*x*x+b(i)*x+c(i), проходящей через точки .(x(2i-2);f(x(2i-2)), .(x(2i-1);f(x(2i-1)), .(x(2i);f(x(2i)). Отсюда и название метода. Геометрически это выглядит так:

Рис. 5                                     Рис. 6                            Рис. 7

Графическая иллюстрация метода Симпсона. Красной линией изображен график функции y = f(x), синей линией показано приближение графика функции y = f(x) квадратичными параболами на каждом элементарном отрезке разбиения.

Рис. 8

Блок схема

begin


























Текст задачи

const=1;=2;=0.00001;e,z,h,ss,s,x:real;:integer;y(x:real):real;:=exp(-x)-sqr(x-1)+1;;:=b-a;:=k3+1;:=s;:=h/2;:=y(a)+y(b);:=a+h;:=-1;x<b do:=-z;:=s+y(x)*(3+z);:=x+h;;:=s*h/3;:=abs((ss-s)/s);('k3=',k3,' ','s=',s:0:7,' ','e=',e:0:7);

until<=ee;.

Результаты

k

s

e

1

0.8992892

1.0000000

2

0.8992158

0.0000816

3

0.8992111

0.0000052


Вывод

В данном методе наименьшее количество итераций и средняя сложность написания текста задачи. Достоинство данного метода заключаются в том, что он является самым точным среди методов прямоугольников и трапеций.

3.2 Метод прямоугольников

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

Пусть функция y = f(x) непрерывна на отрезке [a; b]. Нам требуется вычислить определенный интеграл. Так же как в методе парабол разбиваем отрезки.

Суть метода прямоугольников заключается в том, что в качестве приближенного значения определенного интеграла берут интегральную сумму. Если отрезок интегрирования [a; b] разбить на равные части длины h точками, и в качестве точек выбрать середины элементарных отрезков, то приближенное равенство

можно записать в виде

.

Это и есть формула метода прямоугольников. Ее еще называют формулой средних прямоугольников из-за способа выбора точек.


называют шагом разбиения отрезка [a; b]. Приведем графическую иллюстрацию.

Рис. 9 Из чертежа видно, что подынтегральная функция y = f(x) приближается кусочной ступенчатой функцией


на отрезке интегрирования. С геометрической точки зрения для неотрицательной функции y = f(x) на отрезке [a; b] точное значение определенного интеграла представляет собой площадь криволинейной трапеции, а приближенное значение по методу прямоугольников - площадь ступенчатой фигуры.

Рис. 10 Рис. 11 Перейдем к оценке абсолютной погрешности метода прямоугольников. Сначала оценим погрешность на элементарном интервале. Погрешность метода прямоугольников в целом будет равна сумме абсолютных погрешностей на каждом элементарном интервале.

Блок схема

Текст задачи

=1;

bb=2;=1;=0.00001;a,b,s,ss,e,deltax,x:real;,n:integer;f(x:real):real;:=exp(-x)-sqr(x-1)+1;;:=aa; b:=bb; n:=nn;begin ss:=s;:=k+1;:=0;:=n*2;:=(b-a)/n;:=a;x<b do begin:=s+f(x)*deltax;:=x+deltax;;:=abs((ss-s)/s);('k= ',k,' ','s= ',s:0:7,' ','e= ',e:0:7);;e<ee;.

Результаты

k

s

e

1

1.1705048

1.0000000

2

1.0440721

0.1210958

3

0.9739434

0.0720049

4

0.9371525

0.0392582

5

0.9183255

0.0205014

6

0.9088041

0.0104768

7

0.9040165

0.0052960

8

0.9016159

0.0026625

9

0.9004139

0.0013349

10

0.8998125

0.0006684

11

0.8995117

0.0003344

12

0.8993613

0.0001673

13

0.8992861

0.0000836

14

0.8992484

0.0000418

15

0.8992296

0.0000209

16

0.8992202

0.0000105

17

0.8992155

0.0000052


Вывод

В данном методе наибольшее количество итераций, средняя сложность написания текста задачи, менее точный среди методов парабол и трапеций.

3.3 Метод Трапеций

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

Пусть нам требуется вычислить определенный интеграл, где y = f(x) непрерывна на отрезке [a; b]. Разобьем отрезок [a; b] на n равных интервалов длины h точками. В этом случае шаг разбиения определяется так же как в методе парабол. Рассмотрим функцию на элементарных отрезках [x(i-1);x(i)]. Возможны четыре случая (на рисунке показаны простейшие из них, к которым все сводится при увеличении n):


На каждом отрезке [x(i-1);x(i)] заменим функцию y = f(x) отрезком прямой, проходящей через точки и . На рисунке показаны синими линиями:


В качестве приближенного значения интеграла возьмем выражение


Давайте выясним, что означает в геометрическом смысле записанное приближенное равенство. В первом случае площадь криволинейной трапеции приближенно равна площади трапеции с основаниями f(x(i-1)), f(x(i)) и высотой h, в последнем случае определенный интеграл приближенно равен площади трапеции с основаниями -f(x(i-1)), -f(x(i))и высотой h, взятой со знаком минус. Во втором и третьем случаях приближенное значение определенного интеграла равно разности площадей красной и синей областей, изображенных на рисунке ниже.

Рис. 11

Рис. 12

Блок схема

Текст задачи

Const aa=1; bb=2; ee=0.00001; nn=1;a,b,s,ss,e,deltax,x:real;,n:integer;f(x:real):real;:=exp(-x)-sqr(x-1)+1;;:=aa; b:=bb; n:=nn;ss:=s;:=k+1;:=0;:=n*2;:=(b-a)/n;:=a;x<b do begin:=s+deltax*(f(x)+f(x+deltax))/2; x:=x+deltax;;:=abs((ss-s)/s);('k=',k,' ','s=',s:0:7,' ','e=',e:0:7);

until e<ee;.

Результаты

k

s

e

1

0.8623688

1.0000000

2

0.8900041

0.0310508

3

0.8969094

0.0076990

4

0.8986355

0.0019208

5

0.8990670

0.0004800

6

0.8991749

0.0001200

7

0.8992018

0.0000300

8

0.8992086

0.0000075


Вывод

В данном методе небольшое количество итераций, средняя точность относительно методов Симпсона и прямоугольников.

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);.

Результаты

1

3

-7

5

2

5

7

12

81

-2

1

1

1

7

3

6

9

-8

10


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

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

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

Чтобы численно решить уравнение  методом простой итерации <#"556002.files/image038.gif">, где  - сжимающее отображение <#"556002.files/image040.gif">должно выполняться условие . Решение данного уравнения ищут в виде

, тогда:


В предположении, что точка приближения «достаточно близка» к корню , и что заданная функция непрерывна <#"556002.files/image045.gif">, окончательная формула для такова:


С учётом этого функция <#"556002.files/image048.gif">определяется выражением:


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

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

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

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

Блок схема










































Текст задачи

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,j]*xx[j])/a[i,i];('x[',i,']=',x[i]:0:2,' ');;:=false;i:=1 to n do:=0;j:=1 to n do:=alfa+(a[i,j]*x[j]);:=abs((alfa-a[i,n+1])/(a[i,n+1]));('e=',e:2:5,' ');e>=ed then d:=true;;;not d; end.

Результаты

4

2

2

2

5

7


Корни уравнений х1=-1; х2=1;

Вывод

Метод Ньютона позволяет находить решение систем линейных алгебраических уравнений, если определитель основной матрицы отличен от нуля. По сути метод сводится к вычислению определителей матриц порядка n на n и применению соответствующих формул для нахождения неизвестных переменных.

4.3. Метод Зейделя

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

Метод Зейделя (иногда называемый методом Гаусса-Зейделя) является модификацией метода простой итерации, заключающейся в том, что при вычислении очередного приближения x(k+1) его уже полученные компоненты x1(k+1), ...,xi - 1(k+1) сразу же используются для вычисления xi(k+1).

В координатной форме записи метод Зейделя имеет вид:

x1(k+1) = c11x1(k) + c12x2(k) + ... + c1n-1xn-1(k) + c1nxn(k) + d1 x2(k+1) = c21x1(k+1) + c22x2(k) + ... + c2n-1xn-1(k) + c2nxn(k) + d2 ... xn(k+1) = cn1x1(k+1) + cn2x2(k+1) + ... + cnn-1xn-1(k+1) + cnnxn(k) + dn где x(0) - некоторое начальное приближение к решению.

Таким образом i-тая компонента (k+1)-го приближения вычисляется по формуле

xi(k+1) = ∑ j=1i-1 cijxj(k+1) + ∑ nj=i cijxj(k) + di , i = 1, ..., n

Условие окончания итерационного процесса Зейделя при достижении точности ε в упрощенной форме имеет вид:

|| x (k+1) - x (k) || ≤ ε.

Блок схема


























Текст задачи

a:array[1..100,1..100] of integer;:text;,j,m,n,k:byte;,ed,alfa:real;d:boolean; x: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],' ');;;:=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,j]*x[j])/a[i,i];('x[',i,']=',x[i]:0:5,' ');;:=false;i:=1 to n-1 do:=0;j:=1 to n do:=alfa+(a[i,j]*x[j]);:=abs((alfa-a[i,n+1])/(a[i,n+1]));('e=',e:2:9,' ');e>=ed then d:=true;;;not d;

end.

Результаты

2

4

3

7

1

8

0

2


Корни уравнений х1=2; х2=-1; х3=0; х4=4;

Вывод

Достоинства метода Зейделя в том, что он достаточно прост в написании текста программы, недостатки метода в том, что объем текста программы большой и громоздкие операции.

5. 
Решение дифференциальных уравнений

.1 Метод Эйлера

Теоретические сведения. Решить дифференциальное уравнение у/=f(x,y) численным методом - это значит для заданной последовательности аргументов х0, х1…, хn и числа у0, не определяя функцию у=F(x), найти такие значения у1, у2,…, уn, что уi=F(xi)(i=1,2,…, n) и F(x0)=y0. Таким образом, численные методы позволяют вместо нахождения функции У=F(x) получить таблицу значений этой функции для заданной последовательности аргументов. Величина h=xk-xk-1 называется шагом интегрирования.

Текст задачи

const

x0=0;

y0=1;=5;=1;=(Xn-x0)/n;x,y:array[1..100] of real;,j:integer;:integer;:text;f(x,y:real):real;:=2*y-2*x+1;

{f:=exp(2*x)+x;};(t,'H:\Phoenix\eyler.txt');(t);[1]:=x0; y[1]:=y0;(x[1]:2:5,' ',y[1]:2:5);i:=2 to n+1 do begin[i]:=x[i-1]+deltax;[i]:=y[i-1]+f(x[i-1],y[i-1])*deltax;(x[i]:2:5,' ',y[i]:2:5);;i:=1 to n+1 do(t,x[i]:2:5,' ',y[i]:2:5);

close(t);.

Результаты

1

0.0000

1.00000

2

0.2000

1.60000

3

0.4000

2.36000

4

0.6000

3.34400

5

0.8000

4.64160

6

1.0000

6.37824


Вывод

Метод Эйлера относиться к численным методам, дающим решение в виде таблицы приближенных значений искомой функции у(х). Он является сравнительно грубым и применяется в основном для ориентировочных расчетов.

5.2 Метод Рунге-Кутта

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

. Эти методы являются одноступенчатыми: чтобы найти уm+1, нужна информация о предыдущей точке xm, ym.

. Они согласуются с рядом Тейлора вплоть до членов порядка hp, где степень р различна для различных методов и называется порядковым номером или порядком метода.

. Они не требуют вычисления производных от f (x, y), а требуют вычисления самой функции.

Текст программы =0;=1;

n=5;=1;=(Xn-x0)/n;x,y:array[1..100] of real;,j:integer;:integer;:text;,k2,k3,k4,deltay:real;f(x,y:real):real;:=2*y-2*x+1;

{f:=exp(2*x)+x;};(t,'H:\Phoenix\runge-kut.txt');(t);[1]:=x0; y[1]:=y0;(x[1]:2:5,' ',y[1]:2:5);i:=2 to n+1 do begin[i]:=x[i-1]+deltax;:=deltax*f(x[i-1],y[i-1]);:=deltax*f(x[i-1]+deltax/2,y[i-1]+k1/2);:=deltax*f(x[i-1]+deltax/2,y[i-1]+k2/2);:=deltax*f(x[i-1]+deltax,y[i-1]+k3);:=(k1+2*k2+2*k3+k4)/6;[i]:=y[i-1]+deltay;(x[i]:2:5,' ',y[i]:2:5);;i:=1 to n+1 do(t,x[i]:2:5,' ',y[i]:2:5);

close(t);.

Результаты

10.000001.00000



2

0.20000

1.69173

3

0.40000

2.62527

4

0.60000

3.91951

5

0.80000

5.75182

6

1.00000

8.38679


Вывод

Метод Рунге-Кутта достаточно точный и за малое количество итераций приходит к ответу, недостатки в том, что требуются большие и неудобные выражения для вычислений.

Общий вывод

Если при решении дифференциальных уравнений требуется точность вычислений, то лучше использовать метод Рунге-Кутта, если же достаточно приблизительной точности, то можно воспользоваться методом Эйлера. По уровню сложности написания текста задачи одинаковы.

6. 
Ряды Фурье

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

Ряд Фурье является частным случаем функциональных рядов. Функциональным рядом называется выражение вида


где U1(x),U2(x), ... ,Uk(x), ... - функции, зависящие от одной переменной х или от нескольких переменных (тогда через х обозначают точку в пространстве: х = (х1, ... , xn)).

Текст задачи

const

ee=1e-3;

a=0;=3;=b-a;=20;=1e-3;k:integer;:text;,t,dt,st,Ampl,phi,i:real;,bk:array [1..n] of real;f(t:real):real;(t>=0) and (t<1) then f:=t;(t>=1) and (t<2) then f:=1;(t>=2) then f:=6-2*t;;si(c,k:integer):real;t,dt,e,ss,s:real; z:integer;:=(b-a)/50;:=s;:=dt/2;c of

: s:=f(a)+f(b);

: s:=f(a)*cos(2*Pi*k*a/period)+f(b)*cos(2*Pi*k*b/period);

: s:=f(a)*sin(2*Pi*k*a/period)+f(b)*sin(2*Pi*k*b/period);

: s:=sqr(f(a))+sqr(f(b));;:=a+dt;:=-1;t<b do:=-z;c of

: s:=s+f(t)*(3+z);

: s:=s+f(t)*cos(2*Pi*k*t/period)*(3+z);

: s:=s+f(t)*sin(2*Pi*k*t/period)*(3+z);

: s:=s+sqr(f(t))*(3+z);;:=t+dt;;:=2*(s*dt/3)/period;abs(s)<ee then:=0; e:=0; ende:=abs((ss-s)/s);e<=ee; si:=s;; begin

{assign (ex , 'H:\Phoenix\Afi.txt');(ex);} a0:=si(1,0);('a0=',a0:0:7);

{for k:=1 to n do}i<=id do[k]:=si(2,k);[k]:=si(3,k);:=sqrt(sqr(ak[k])+sqr(bk[k]));(ak[k]>0) and (bk[k]>0) then phi:=arctan(ak[k]/bk[k]);(ak[k]>0) and (bk[k]<0) then phi:=arctan(ak[k]/bk[k])+pi;(ak[k]>0) and (bk[k]=0) then phi:=pi/2;(ak[k]<0) and (bk[k]>0) then phi:=arctan(ak[k]/bk[k])+2*pi;(ak[k]<0) and (bk[k]<0) then phi:=arctan(ak[k]/bk[k])+pi;(ak[k]<0) and (bk[k]=0) then phi:=3*pi/2;(ak[k]=0) and (bk[k]>0) then phi:=0;(ak[k]=0) and (bk[k]<0) then phi:=pi;(ak[k]=0) and (bk[k]=0) then writeln('net');({ex,}k:2,ak[k]:8:4,bk[k]:8:4,Ampl:6:2,phi*180/pi:6:0);

{writeln(k:2,ak[k]:8:4,bk[k]:8:4,Ampl:6:2,phi*180/pi:6:0);};:=(b-a)/(40*n);:=a;t<=b do begin:=a0/2;k:=1 to n do:=st+ak[k]*cos(2*pi*k*t/period)+bk[k]*sin(2*pi*k*t/period);(t:0:5,' ',f(t):0:5,' ',st:0:5);:=t+dt; end; {close(ex);} end.


Вывод

Этот метод дает точные результаты, за достаточно большое количество итераций и еще один недостаток, это сложные и громоздкие вычисления.

Список литературы

1.     К. Ланцош, Практические методы прикладного анализа, 1961.

2.       И. С. Березин и Н. П. Жидков, Методы вычислений в 2 томах, 1959-1962.

.        Демидович Б.П. и Марон И.А. Основы вычислительной математики. - Наука, 1970. - С. 664.

.        Бахвалов, Жидков, Кобельков Численные методы. - Наука.

5.       Каханер Д., Моулер К., Нэш С. <http://ru.wikipedia.org/w/index.php?title=%D0%9D%D1%8D%D1%88,_%D0%A1%D1%82%D0%B8%D0%B2_%28%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%29&action=edit&redlink=1> Численные методы и программное обеспечение (пер. с англ.). М.: Мир, 2001, 575 c.

.        Самарский А. А. <http://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%BC%D0%B0%D1%80%D1%81%D0%BA%D0%B8%D0%B9,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B5%D0%B2%D0%B8%D1%87>, Гулин А. В. Численные методы: Учеб. пособие для вузов. - М.: Наука. Гл. ред. физ-мат. лит., 1989. - 432 с.

.        Пискунов Н. С. <http://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D1%81%D0%BA%D1%83%D0%BD%D0%BE%D0%B2,_%D0%9D%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D0%B9_%D0%A1%D0%B5%D0%BC%D1%91%D0%BD%D0%BE%D0%B2%D0%B8%D1%87> Дифференциальное и интегральное исчисления для вузов. - 13-е изд. - М.: Наука. Гл. ред. физ-мат. лит., 1985. - 432 с.

8.     И.П. Натансон : Краткий курс высшей математики

9.       И.И. Валуцэ, Г.Д. Дилигун : Математика для техникумов

.        И.А. Сахарников : Высшая математика

.        П.П. Коровнин : Математический анализ

.        Л.И.Лихтарников, А.Н. Поволоцкий : основы математического анализа

13.   http://www.ph4s.ru/book_pc_chisl.html

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!