ЗАДАНИЕ №22

на контрольную работу по дисциплине «Мат. методы и модели»

Выполнить:

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

б) дать объяснения блоков алгоритма;

в) записать алгоритм языком BASIC.

 

Задача 3

Дифференциальное уравнение движения массы локомотива

 

где M – масса локомотива, λ – распределенная сила натяжения, Тk – сила тяги.  Решить данное уравнение относительно V методом Эйлера на отрезке [a, b], с шагом h, V(a) = V0.

 

а) Пусть требуется решить задачу Коши: найти решение дифференциального уравнения

,           (1)

удовлетворяющее начальному условию y(x0) = y0.

При численном решении уравнения (1) задача ставится так: в точках x0, x1, x2,…xn, найти приближения yk (k = 0,1,2,…, n) для значений точного решения y(xk). Разность Δxk = xk-1 – xk называется шагом сетки. Во многих случаях величину Δxk принимают постоянной h, тогда

xk = x0 +kh (k = 0,1,2,…, n)

Метод Эйлера основан на непосредственной замене прозводной разностным отношением по приближенной формуле Δy/Δx = f(x,y), где Δy = y(x + h) – y(h), Δx = (x + h) – x = h/

Приближенное значение yk в точке xk = x0 + kh вычисляется по формуле

yk+ =yk +hf(xk, yk)    (k = 0,1,2,…, n)

 

Блок схема программы для решения дифференциального уравнения для нахождения вероятности безотказной работы узлов подвижного механизма методом Эйлера приведена на рис. 3.

 

б) После введения значений отрезка a, b, начального значения функции V0, и параметров: M, ro, L, Tk, присваиваем аргументу t значения начала отрезка - a, функции V – значение в узле а: V0. Блок четыре описывает вычисление значения функции V в узлах с шагом h. В блоке 5 переходим к следующему узлу, прибавляя к t величину шага h. Блок 6 описывает выполнение вывода значений аргумента t и функции V. В блоке 7 проверяется условие достижения конца отрезка b. Если t = b, то заканчиваем вычисления, в противном случае продолжаем вычисления для следующего узла t.

 

 

 

 

в) программа на языке BASIC

 

10   PRINT  решение дифференциального уравнения двиЖЕНИЯ МАССЫ ЛОКОМОТИВА методом эйлера

20   INPUT  ‘ V0, a, b, h, M, ro, L, Tk ’, V0, a, b, h, M, ro, L, Tk

30   t = a : V = V0

40   V = V +h*(- (ro*L/M + Tk/M))

50   t = t + h

60   PRINT “ t = “, t; “ V = “ , V

70   IF t <=b THEN GOTO 30

80  END

 

К списку задач

Главная