О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / АИТ / Лабораторная работа №5 По дисциплине: «Оптимизация и оптимальное управление» Решение систем линейных алгебраических уравнений метод последовательных приближений

(автор - student, добавлено - 23-05-2014, 22:14)

СКАЧАТЬ:  list-microsoft-excel.zip [76,04 Kb] (cкачиваний: 26)

 

 

Лабораторная работа №5

По дисциплине:

«Оптимизация и оптимальное управление» 

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

метод последовательных приближений

 

 

 

 

 

Метод Эйлера

По определению, производная - это отношение приращения функции к приращению аргумента, т.е. . введём новые переменные: х0=х, у0= у(х)= у(х0), х1=x+h=х0+h, y(x+h)=у(х1)=y1, тогда получим:  или  . Следовательно . Так как , то получим, что . Теперь пользуясь значением y1, можем определить следующее значение функции, т.е.  и далее , при этом, новое значение аргумента будет выражаться по формуле  хi+1=xi+h.

Таким образом, зная начальные условия и шаг h, можно решить уравнение на отрезке [a,b], где а=х0.

При достаточно малом шаге h метод Эйлера даёт решение с большой точностью. Но при уменьшении шага, происходит замедление вычислений.

 

Алгоритм метода Эйлера

  1.  1.        Задаются начальные данные а=х0; у0; b; h.
  2.  2.      Вычисляется новое значение функции по формуле: .
  3.  3.       Вычисляется  новое значение аргумента по формуле хi+1=xi+h.
  4.  4.      Полученные значения функции и аргумента выводятся на печать.
  5.  5.      Если аргумент функции меньше b, то необходимо перейти к шагу 2, в противном случае управление переходит к шагу 6.
  6.  6.      Конец.

 

 

 

 

блок-схема метода Эйлера

 

  


Расчетная часть

Решим дифференциальное уравнение методом Эйлера:

Дано:

 

Интервал [1;5],

Начальные значения x0,y0:[1;1],

Шаг: h=0.5.

Программа реализованная в Pascal 7.0

Program airateiler;

Uses crt;

Var

a,b,x,y,h:real;

Begin

clrscr;

Write('a='); readln(a);

write('b='); readln(b);

Write('x='); readln(x);

write('y='); readln(y);

write('h='); readln(h);

Repeat

     Writeln('         x=',x:4:2);

        Writeln('                  y=',y:4:2);

         y:=y+h*(exp(3/2*ln(4*x-2))+y);

     x:=x+h;

Until x>b;

Readln;

end.

 

 

  

 

Результат:

 

 

По результатам вычислений построим кривую:

 

 

 

 


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ
Copyright 2016. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!