ПОИСК Статьи Рисунки Таблицы Понятие о масштабировании формул алгоритма из "Программирование проектных расчетов" Обработка исходных данных и расчетных формул алгоритма, при которой достигается выполпепие условия (8) на любом этане решения задачи, называется масштабированием. Некоторые основные приемы масштабирования удобно проследить на примерах. [c.30] Р — статическое давление на грунт, т/м--, Р — площадь основания фундамента, м -. [c.31] Здесь все обозначения прежние. [c.32] Кх и — коэффициенты жесткости для естественных оснований, т/м, т-м. [c.33] Переходя к подготовке заданного алгоритма расчета к программированию, прежде всего необходимо установить пределы изменения исходных величин расчета. Такими величинами являются линейные размеры элементов, площадь и момент инерции основания фундамента, количество элементов установки, число оборотов мотора, горизонтальная составляющая возмущающих сил машины, коэффициент упругого равномерного сжатия. [c.33] Условие (18) показывает, что суммировать в машине выражения, входящие в формулы (12 ), нельзя, так как возникнет переполнение разрядной сетки. [c.36] Анализ формул (19) показывает, что суммы, стоящие в числителях дробей, всегда будут меньше сумм в знаменателях, так как члены сумм в числителях отличаются от соответствующих членов в знаменателях (с тем же индексом г) только лишним множителем, меньшим единицы х., у . или г ). [c.36] Значит, дроби (19) всегда будут меньше единицы, а потому выражения (19) могут быть приняты за расчетные формулы при решении задачи с фиксированной запятой. [c.37] Величины Жд, г/ц и в дальнейших расчетах должны фигурировать с учетом масштабных коэффициентов. После выдачи этих величин на печать, чтобы получить истинные значения координат центра тяжести системы, надо умножить каждое напечатанное число на двадцать. [c.37] Коэффициент, стоящий перед фигурными скобками, 64 10 — масштабный коэффициент величины 0. По формулам (19), (20) и (21), подставляя в них величины, меньшие единиц, мы можем вычислить искомые параметры, гарантировав отсутствие переполнения на любом промежуточном этапе, если при программировании будет соблюден определенный порядок действий. А именно, прежде чем очередное слагаемое прибавить к имеющейся сумме, его необходимо умножить на соответствующий коэффициент. [c.39] Подставляя масштабированные величины и величины, вычисленные по формулам (19), (20) и (21), в формулы (16) и придавая параметрам крайние значения, которые они могут принимать, легко видеть, что из-за широких числовых границ масштабировать формулы (16) будет затруднительно при некоторых значениях параметров в результате промен уточных вычислений могут образоваться машинные нули, что вызовет потерю точности. В этом случае целесообразно вести вычисление по формулам (16) в режиме с плавающей запятой, учитывая соответствующие масштабные коэффициенты. Отметим, что переход к режиму с плавающей запятой не даст теперь значительного увеличения времени вычислений, так как доля расчетов но формулам (16) в общем объеме работы невелика. [c.39] Анализ формул (16) показывает, что для вычислений по ним необходимо сделать примерно семь сложений и вычитаний, 20 умножений, 17 делений (учитывая и деление на величины, обратные масштабным коэффициентам) и около 20 пересылок на каждый расчет. Таким образом, на расчет одного варианта компрессора для вычислений по формулам (16) потребуется лишь А= 512 операций на машине Урал-1 , тогда как весь расчет требует примерно 48 ООО операций (включая в это число и операции, необходимые для перевода исходных данных в двоичную систему, которые в расчетных формулах не отражены). [c.39] Теперь получен окончательный расчетный алгоритм решения задачи. Алгоритм состоит из формул (19), (20) и (21), но которым вычисления ведутся с фиксированной запятой, и формул (16), по которым требуемые велчины рассчитываются с плавающей запятой. Исходные данные для расчета задаются по форме, представленной в табл. 4, с учетом ранее указанных масштабных коэффициентов. [c.39] Имея заполненную форму, программист заносит соответствующие числа в отведенные для них ячейки памяти машины на бланках программы, пробивает числовой материал на перфоленте, вводит программу и числовой материал в память машины и передает управление начальной команде программы. Результаты вычислений отпечатываются на бумажной ленте, умножаются вручную на соответствующие им масштабные коэффициенты и в дальнейшем используются по назначению. [c.41] Разобранный пример расчета позволяет вывести следующее правило для вычисления сумм с фиксированной запятой. [c.41] Для вычисления суммы, состоящей из п чисел, каждое из которых меньше единицы, надо каждое слагаемое умножить на коэффициент 1/п и суммировать эти произведения. Масштабный коэффициент суммы будет равен /п и должен учитываться в дальнейших вычислениях. [c.41] Пример показывает, что при программировании следует особое внимание обратить на последовательность арифметических действий, причем некоторые приемы вычислений, выработанные в процессе ручного счета, как, например, вынесение общего множителя за знак суммы или за скобки, оказываются в ряде случаев неприемлемыми иногда даже наоборот эти множители стремятся внести под знак суммы или в скобки, чтобы при вычислениях избежать переполнения. [c.41] В общем случае при вычислении масштабного коэффициента, относящегося к какой-либо формуле, применяют прием, основанный на тождественных преобразованиях алгебраических выражений. Преобразования заключаются в том, что на место истинных параметров в формулу подставляются масштабированные величины, умноженные на коэффициенты, обратные масштабным коэффициентам параметров. После такой подстановки выполняются необходимые алгебраические действия, позволяющие выделить общий масштабный коэффициент формулы, подобно тому как это было сделано в приведении к расчетной формулы (15) и других. В рассмотренном примере такими общими коэффициентами являются, например, множитель 64 10 в формуле 2 ), множитель 5000 в формуле (14 ) и другие. [c.41] При программировании вычислений но формулам надо обращать внимание на последовательность действий. Последовательность действий также указывается требованиями отсутствия переполнения и наивысшей точности вычислений. [c.41] Параллельно с масштабированием расчетных формул ведется и исследование достаточной точности вычислений. Какие-либо общие приемы исследования точности указать затруднительно. Однако в некоторых случаях удается добиться нужного количества значащих цифр, анализируя результаты подстановки в расчетные формулы крайних значений масштабируемых параметров, наименьших и наибольших, и подбирая соответственно масштабные коэффициенты. Эти случаи будут рассмотрены ниже на примере теплового расчета. [c.42] Вернуться к основной статье