ЗАДАНИЕ №7

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

Выполнить:

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

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

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

 

Задача 1

При движении с постоянной скоростью тележки вагона на пологих кривых участках положение полюса поворота (расстояние  между ним и центром тележки) задается уравнением

где F – сила сухого трения; Н – поперечная сила; 2Ib – база тележки; 2S – ширина колеи;

 

Найти интервалы существования корней уравнения для неизвестной  на отрезке [x0,xk] с шагом h

 

Решение

а) Если непрерывная  и монотонная функция на концах интервала [a, b] имеет значения разных знаков, то на этом интервале имеется хотя бы один корень. Разобьем интервал существования функции [x0,xk] на равные отрезки длиной h и будем вычислять значения функции на концах этих отрезков (f(a) и f(b) соответственно). Условием наличия корня будет f(a) * f(b) <=0.

Алгоритм метода отделения корней показан на рис. 1

 

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

 

Для отделения  корней уравнения определения полюса

вводим значения F; Н; 2Ib; 2S, интервала a, b и точности вычисления - ε. Затем вычисляем значение t равное половине интервала a, b. Вычисляем

Далее вычисляем функцию F(a) и F(b). По адресу 70 проверяем F(a) * F(b) > 0, если да, то переходим к 90, если нет, то выводим значения a и b. По адресу 90 увеличиваем значение а на шаг h. Затем проверяем, превышает ли полученное значение а верхнюю границу интервала. Если нет, то возвращаемся на 40, и продолжаем поиск интервала существования корней, если а равно xk, то останавливаем программу.

 

 

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

 

10   PRINT  ‘ ОПРЕДЕЛЕНИЕ ИНТЕРВАЛА СУЩЕСТВОВАНИЯ КОРНЕЙ  уравнения для нахождения полюса поворота

20   INPUT  ‘ F1; Н1; Ib; S, X0, XK, h ’

  1. A = X0

40   B = A + h

50   cosB=(Ib - A)/SQRT(S^2 + (Ib - A)^2): sinB=S/SQRT(S^2 + (Ib - A)^2): sinA=S/SQRT(S^2 + (Ib + A)^2): FA = 2*F1*(2*Ib*cosB + S*(sinB + sinA) – H1*Ib

60   cosB=(Ib - B)/SQRT(S^2 + (Ib - B)^2): sinB=S/SQRT(S^2 + (Ib - B)^2): sinA=S/SQRT(S^2 + (Ib + B)^2): FB = 2*F1*(2*Ib*cosB + S*(sinB + sinA) – H1*Ib

70   IF FA*FB > 0 THEN GOTO 90

80   PRINT ‘ ИНТЕРВАЛ’, A, B,

90   A = A + h

100   IF A < XK THEN GOTO 40

110  END

 

 

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

Главная