Математические основы теории систем

Автор работы: Пользователь скрыл имя, 13 Ноября 2013 в 15:25, задача

Краткое описание

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

Прикрепленные файлы: 1 файл

bbncvnc_rascheika.doc

— 300.50 Кб (Скачать документ)

Пермский Государственный

Технический Университет

 

 

Кафедра Автоматики и Телемеханики

 

 

 

 

 

 

 

Расчетная работа №2

по  курсу

«Вычислительные методы»

 

Вариант №95

 

 

 

 

 

 

Выполнил:

студент гр. КРЭС-04

Ефремов М. М.

Проверила:

Леготкина Т.С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

г. Пермь, 2006 г.

 

Задание №1

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

X

0.18000

0.18500

0.19000

0.19500

0.20000

0.20500

Y

5.51643

5.46693

5.32634

5.19304

5.06649

4.94619


 

Y(0.1976) - ?   Y(0.1809) - ?

 

Решение:

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

1я Формула Ньютона:

 

 

 

2я Формула Ньютона:

 


Ответ:

 

 

 

 

 

Задание №2

Используя квадратичную интерполяцию, вычислить значение функции при  заданном значении аргумента. Предварительно убедиться в применимости формулы, для чего выбрать 6 значений из таблицы Брадиса и составить таблицу разностей.

 

cos(0.1458) - ?

 

Решение:

Вычисленное значение косинуса на калькуляторе cos(0.1458)= 0.9893899953

Т.к. Δ3Y<<Y, то берем до Δ2Y

h=0.05

 

X

Y=cos(X)

ΔY

Δ2Y

0,145

0.989506

0,150

0.988771

0,155

0.988012

0,160

0.987227

0,165

0.986418

 

0,170

0.985585

   

 

По первой формуле  Ньютона:

 

Ответ: cos(0.1458)= 0.9893899953 – вычислено на ЭВМ

  cos(0.1458)= 0.9893899945 – расчет по формуле

 

 

Задание №3

Вычислить интеграл по формуле трапеций и по формуле Симпсона. Оценить погрешность результата для n=4, n=8.

 

Решение:

Формула трапеций:

Формула Симпсона:

Погрешность рассчитывалась по формуле  двойного пересчета: ,

где для  формулы трапеций n=2, для формулы Симпсона – n=4.

 

Для сравнения  приведено точное значение интеграла, рассчитанное в программе MathCAD 2001:

Рассчитаем интеграл для n=4

x

1.9

2.3

2.7

3.1

3.5

y

0.619

0.4828

0.3987

0.3408

0.2981


 

По формуле трапеции:

По формуле  Симпсона:

Рассчитаем интеграл для n=8

x

1.9

2.1

2.3

2.5

2.7

2.9

3.1

3.3

3.5

y

0.619

0.5415

0.4828

0.4364

0.3987

0.3674

0.3408

0.318

0.2981


 

По формуле трапеции:

По формуле  Симпсона:

Найдем погрешность вычислений:

 

 

Ответ:

n |   Метод Трапеций | Метод Симпсона

4 |               0.672357 |   0.66884

8 |                 0.667866 |   0.667668

Погр.:          0.001172 |   0.0000132

Точное значение: 0.6676515 (MathCAD_2001)

 

 

Задание №4

Используя метод Милна, составить  таблицу приближенных значений интеграла  дифференциального уравнения y’=f(x,y), удовлетворяющего условиям y(x0)=y0 на отрезке (0, 1); шаг h=0.1. Начальный отрезок определить либо уточненным, либо модифицированным методом Эйлера.

 y(0)=0.6

 

Решение:

Начальный отрезок определяем исправленным методом Эйлера:

    h=0.1       

 

1я формула Милна:

 

2я формула Милна:

 

По первой формуле определяем прогнозируемое значение, а по второй считаем корректируемое значение.

         

         

         

         

     

           

         

Задание №5

Используя метод прогонки, составить решение краевой задачи для обыкновенного дифференциального уравнения с заданной точностью, шаг h=0.05.

Решение:

Формулы:

для прямой прогонки:

  

 

для обратной прогонки:

 можно определить из второго  краевого условия: 

 определяется из начальных условий по формуле:

a=1.3         b=1.6       h=0.05        

Прямой прогон

Пусть:        

 

 

Находим Ci и di

             

    

        

 

Обратный прогон

  

    

 

Проверка

  

  

 

Ответ:

   N      X           Y

   0  1.3000   0.21772

   1  1.3500   0.20404

   2  1.4000   0.19114

   3  1.4500   0.17914

   4  1.5000   0.1682

   5  1.5500   0.15844

   6  1.6000   0.15

 

Задание №6

Используя метод сеток, составить решение смешанной задачи для уравнения колебания струны . Решение выполнить с шагом h=0.1.

С начальными условиями:

U(x,0)=f(x)=0.5x*(x+1)

Ut(x,0)=Ф(x)=x*cosx

0<x<1

И краевыми условиями:

U(0,t)=Q(t)=2t*t

U(10,t)=G(t)=1

0<t<1

π=3,14159265359

 

Решение:

Вначале считаем значения в граничных  узлах:

при k=0: , где

при i=0: , где

при i=10: , где .

 

Для k=1 значения можно посчитать по формуле:

, где 

 

             

Дальнейший расчет производим по формуле:

Program Metod_Setok;

Const h=0.1; a=0; b=1; n=round((b-a)/h);

Var result :text;

      arr :array [0..n, 0..n] of real;

      i,k :integer;

      x,t :real;

Function F(x:real):real;

begin

f:=0.5*x*(x+1);

end;

Function Ft(x:real):real;

begin

ft:=x*cos(x);

end;

Function Q(t:real):real;

begin

q:=2*t*t;

end;

Function G(t:real):real;

begin

g:=1;

end;

Begin

for i:=0 to n do begin

                         x:=a+i*h;

                         arr[i,0]:=F(x);

end;

for k:=0 to n do begin

                          t:=a+k*h;

                          arr[0,k]:=Q(t);

end;

for k:=0 to n do begin

                          t:=a+k*h;

                         arr[10,k]:=G(t);

end;

for i:=1 to n-1 do begin

                           x:=a+i*h;

                          arr[i,1]:=arr[i,0]+h*Ft(x);

end;

for k:=2 to n-2 do begin

                               for i:=1 to 9 do begin

                                                        arr[i,k]:=arr[i+1,k-1]+arr[i-1,k-1]-arr[i,k-2];

                                                       end;

                              end;

 

assign(result, 'Table_of_Result.txt');

rewrite(result);

write  (result, ' i ');

for i:=0 to n do begin

                         write(result, i:8);

end;

writeln(result);

writeln(result,'k');

for k:=0 to n do begin

                           write(result,'   ');

                           write(result, k:2);

 

                         for i:=0 to 10 do begin

                                                    write(result, arr[i,k]:8:3);

                                                     end;

writeln(result);

end;

close(result);

End.

 

Ответ:

     i        0      1           2         3          4          5          6          7         8          9         10

k

    0   0.000   0.055   0.120   0.195   0.280   0.375   0.480   0.595   0.720   0.855   1.000

    1   0.020   0.065   0.140   0.224   0.317   0.419   0.530   0.649   0.776   0.911   1.000

    2   0.080   0.105   0.169   0.261   0.363   0.471   0.587   0.710   0.839   0.921   1.000

    3   0.180   0.184   0.226   0.307   0.416   0.531   0.652   0.778   0.855   0.929   1.000

    4   0.320   0.302   0.323   0.381   0.476   0.597   0.722   0.797   0.867   0.935   1.000

    5   0.500   0.459   0.456   0.491   0.562   0.667   0.742   0.811   0.876   0.939   1.000

    6   0.720   0.655   0.627   0.637   0.682   0.707   0.756   0.821   0.883   0.942   1.000

    7   0.980   0.889   0.835   0.818   0.782   0.771   0.786   0.827   0.886   0.944   1.000

    8   1.280   1.161   1.079   0.980   0.907   0.861   0.843   0.851   0.889   0.945   1.000

    9   1.620   1.471   1.306   1.169   1.060   0.979   0.927   0.904   0.910   0.945   1.000

  10   2.000   1.765   1.560   1.385   1.240   1.125   1.040   0.985   0.960   0.965   1.000


Информация о работе Математические основы теории систем