
- •Г.М.Вольдман расчет балансов по ценному компоненту в технологических схемах
- •Оглавление
- •Введение
- •1. Расчет методом "от операции к операции"
- •2. Расчет технологической схемы в целом
- •3. Расчет с помощью программы на языке basic
- •4. Расчет с помощью табличного процессора excel
- •5. Библиографический список
- •Приложения приложение 1 Текст программы на языке basic
- •Приложение 2 Протокол решения контрольной задачи
- •Приложение 3 Распечатка решения контрольной задачи
3. Расчет с помощью программы на языке basic
Программа подготовлена с помощью версии Quick Basic 4.5 и переведена в формат самостоятельного исполняемого exe - файла. Исходный текст программы приведен в Приложении 1. Максимальная размерность решаемой системы (число неизвестных) - 50, что вполне достаточно для большинства схем; рассчитываемых студентами; при необходимости увеличить размерность достаточно внести изменения в описание массивов переменных (Х) и коэффициентов (А) в операторе DIM (2-я строка программы). Программа работает в MS DOS версии 5 и выше и может быть реализована на любом IBM - совместимом компьютере, начиная с XT 286.
Программа предусматривает диалоговый режим ввода исходных данных, при котором на вопросы, появляющиеся на дисплее, следует давать конкретные ответы (вводить запрашиваемые числа). В Приложении 2 приведен протокол вопросов и ответов (в протоколе подчеркнуты) при решении контрольной задачи (технологическая схема рис. 7, система уравнений на с. 5). Как видно из протокола, в программе предусмотрена возможность исправления ошибок. Это особенно полезно при вводе больших матриц, когда вероятность ошибок велика.
Если среди составленных уравнений имеются линейно зависимые, программа выдает сообщение “Решения нет” и прекращает работу.
4. Расчет с помощью табличного процессора excel
Последовательность действий при расчете баланса по ценному компоненту методом обращения матрицы с использованием табличного процессора EXCEL описана применительно к версии 7.0.
Формирование исходной матрицы коэффициентов включает, как уже обсуждалось раньше, два этапа: заполнение матрицы нолями и ввод ненулевых коэффициентов. Для заполнения матрицы нолями нужно поместить 0 в левую верхнюю ячейку, установить курсор мыши на квадратик в правом нижнем углу (при этом курсор примет форму крестика), “потянуть” мышью рамку вправо до конца строки и отпустить левую кнопку мыши; после этого вся строка заполняется нолями и остается выделенной. Затем нужно “потянуть” эту строку за правый нижний угол последней ячейки вниз до нижней границы матрицы, и вся матрица оказывается заполненной нолями. После этого последовательно по строкам в соответствующие ячейки помещают ненулевые коэффициенты.
Далее необходимо проверить отсутствие в используемой системе линейно зависимых уравнений и соответственно существование единственного решения. Необходимым и достаточным условием этого является неравенство нулю определителя матрицы коэффициентов. Определитель матрицы вычисляют следующим образом: делают активной ячейку, в которой будет размещено численное значение определителя; нажав кнопку fx вызывают Мастер Функций, из математических функций выбирают функцию МОПРЕД и нажимают кнопку “Далее”; в качестве аргумента вводят область, занимаемую исходной матрицей коэффициентов (для этого нужно ввести через двоеточие адреса верхней левой и нижней правой ячеек области или поместить курсор мыши в верхнюю левую ячейку, нажать левую кнопку мыши и, не отпуская ее, переместить курсор в нижнюю правую ячейку, затем отпустить кнопку) и нажимают кнопку “Готово”.
Для получения матрицы, обратной матрице коэффициентов, нужно выполнить следующие действия:
выделить для размещения обратной матрицы место - такое же, как у матрицы коэффициентов;
кнопкой fx вызвать Мастер Функций, из математических функций выбрать функцию обращения матрицы МОБР и нажать кнопку “Далее”;
в качестве аргумента ввести область, занимаемую исходной матрицей коэффициентов (как описано ранее применительно к вычислению значения определителя) и нажать кнопку “Готово” (после этого будет заполнена только верхняя левая ячейка);
для завершения войти в строку формулы, переместив в нее курсор и щелкнув левой кнопкой мыши (при этом курсор примет форму “I”, а слева от строки формул появятся четыре кнопки, в том числе с красным крестом и с зеленой галочкой), и нажать одновременно клавиши “Control”-“Shift”-“Enter”, после чего заполнятся все ячейки обратной матрицы.
Следующий шаг - формирование вектора (столбца) свободных членов: сначала все ячейки столбца заполняются нолями (для этого нужно поместить 0 в верхнюю ячейку столбца и “потянуть” за нижний правый угол вниз до конца столбца), а затем вводятся ненулевые свободные члены.
Для получения значений неизвестных нужно умножить обратную матрицу коэффициентов на вектор свободных членов. Эту операцию выполняют в следующей последовательности: выделяют место для вектора решения (столбца, в ячейках которого будут размещены значения неизвестных) и вызывают функцию МУМНОЖ, в качестве первого массива вводят область, занимаемую обратной матрицей, в качестве второго - область, занимаемую вектором свободных членов. После нажатия кнопки “Готово” заполняется лишь верхняя ячейка; для завершения так же, как описано раньше, входят в строку формул и нажимают одновременно три клавиши “Control”-“Shift”-“Enter”, после чего заполняются все ячейки вектора неизвестных.
В заключение целесообразно проверить точность решения, и для этого вычислить расчетный вектор свободных членов и сравнить его с исходным. Расчетный вектор свободных членов равен произведению исходной матрицы коэффициентов на вектор решения; его получают в результате следующих операций:
Копируют числовые значения ячеек вектора решения (но не формулы, поэтому обычное копирование неприемлемо!) в новый блок (столбец) ячеек. Для этого выделяют блок ячеек, содержащий вектор решения, и дают команду “Копировать”; выделяют блок, предназначенный для размещения числовых значений неизвестных, дают команду “Специальная вставка”, в открывшемся меню в колонке “Вставить” выбирают режим “Значения” и нажимают кнопку ОК.
Умножают матрицу коэффициентов на вектор значений неизвестных совершенно аналогично умножению обратной матрицы на вектор свободных членов при поиске решения: выделяют блок для размещения расчетного вектора свободных членов, вызывают Мастер Функций, выбирают МУМНОЖ, вводят области матрицы и вектора, нажимают “Готово”, входят в строку формулы и нажимают “Control”-“Shift”-“Enter”.
При хорошей точности вычислений значения исходного и расчетного векторов свободных членов практически совпадают.
По-видимому, целесообразно размещать области матриц и векторов так, как на распечатке решения контрольной задачи (Приложение 2): обращенная матрица коэффициентов под исходной матрицей коэффициентов, справа от обращенной матрицы вектор свободных членов (на распечатке обозначен В) и вектор решения (Хс), справа от исходной матрицы копия вектора решения и расчетный вектор свободных членов (Вс).