1. Цели и задачи
Цель:
Разработка приложения для автоматизации вычисления объёма вещества по известной градуировочной таблице резервуара.
Задачи:
Реализовать алгоритмы аппроксимации градуировочной таблицы.
Разработать интерфейс пользователя приложения.
Провести натурный эксперимент
§ 2. Описание программы
Программа написана НА VISUAL BASIC FOR APPLICATIONS В EXCEL. Мы выбрали именно VBA, по трём основным причинам:
Доступность. VBA встроен в excel, который сейчас есть почти на каждом компьютере.
Удобство работы с таблицами. VBA встроен в excel, который является одной из основных программ для работы с таблицами. Мы предположили, что, по этой причине именно VBA лучше всего подойдёт для работы с таблицами.
Удобство создания визуального интерфейса программы. В VBA имеется панель инструментов, с помощью которой можно выставить любые элементы интерфейса на исходную форму, а не прописывать их расположение и размеры через код, что значително упрощает разработку приложения.
Наша программа предназначена для определения объёма вещества в резервуаре произвольной формы, на любой высоте, по известной градуировочной таблице этого резервуара. Это её основная функция. Также её можно использовать на школьных уроках, в качестве примера аналогичных программ, применяемых на крупных производствах («Сибур-Химпром», «ЛУКОЙЛ» и т.д.).
Программа состоит из двух основных вкладок: «Загрузка данных» и «Вычисления» Для начала работы с программой необходимо загрузить в неё градуировочную таблицу. Во вкладке «Загрузка данных» распложены окна для ввода диапазона ячеек и номера листа, на котором расположены данные градуировочной таблицы. После ввода данных по нажатию кнопки «загрузить данные», будет вызвано окно, в котором нужно выбрать нужный файл .xls. Загруженные данные будут отображены в окне вывода данных, которое имеется в обоих вкладках. Во вкладке вычисления расположены кнопки, отвечающие за расчёты и окно для ввода уровня, на котором необходимо вычислить объём. По нажатию кнопки программа выполнит расчёт, при помощи выбранного метода расчётов (Они будут подробнее описаны ниже) и автоматически выведет результат. После расчёта объёма, программа может рассчитать массу жидкости. Для этого пользователю необходимо нажать соответствующую кнопку, и ввести плотность жидкости в открывшееся окно. Программа автоматически произведёт расчёт и выведет результат.
§3. Алгоритмы вычисления
Линейная интерполяция:
Программы выбирает две соседние точки, между которыми находится введённое значение уровня.
Составляется система уравнений вида: , где y1 x1 и y2 x2 - координаты соседних точек (y – объём; x – уровень),а k и b – переменные.
Эта система решается с помощью метода Крамера.
Вычисляется главный и два вспомогательных определителя.
Корни вычисляются по формуле k= Δk/Δ; b=Δb/Δ
Полученные значения k и b подставляются в уравнение линейной функции ( ) в качестве углового и свободного коэффициентов соответственно.
Вычисляется значение полученной функции от значения введённого уровня.
Квадратичная интерполяция
Программы выбирает две соседние точки, между которыми находится введённое значение уровня.
Составляется система: , где y1 x1 , y2 x2 и y3 x3 - координаты выбранных программой точек, а a, b и с – переменные.
Эта система решается с помощью метода Крамера.
Вычисляется главный и два вспомогательных определителя.
Корни вычисляются по формуле a= Δa/Δ; b=Δb/Δ; c=Δc/Δ
Соответствующие значения переменных, подставляются в уравнение квадратичной функции () в качестве главного, второго и свободного коэффициентов.
Вычисляется значение функции от введённого значения уровня.
§ 4. Натурный эксперимент
Для проверки программы на реальных условиях, мы провели натурный эксперимент. В качестве резервуара была использована 2-х литровая пластиковая бутылка. При помощи мерной посуды мы составили градуировочную таблицу и перенесли её в excel.
H |
V |
3,7 |
244 |
7,9 |
562 |
18,7 |
1293 |
24 |
1669 |
32,5 |
2073 |
Тем же способом мы определили несколько промежуточных точек и объём на их уровне, после чего произвели расчёт. Погрешность составила 0.35%, что, по моему мнению, совсем не много.
§ 5. Заключение
В итоге мы получили приложение, удовлетворяющее поставленной цели и выполняющее все необходимые функции по вычислению объема вещества.
В дальнейшем мы планируем совершенствовать приложение и провести ряд дополнительных экспериментов для более точного вычисления погрешностей.
§ 6. Список источников литературы и ссылки
Методическое пособие Казанского федерального университета «Программирование на VBA excel»
Приложение 1 Инструкция по работе с программой
Для начала работы с программой необходимо загрузить в неё данные. Для этого нужно указать диапазон ячеек и номер листа, где расположены данные градуировочной таблицы. После этого по нажатию кнопки «загрузить данные», будет вызвано окно, в котором вы сможете выбрать нужный файл .xls, из которого будет загружена градуировочная таблица. Значение (0;0) включать в неё не следует (это приводит к ошибке в расчётах). Загруженные данные отобразятся в программе.
Для проведения вычислений, нужно ввести уровень, на котором требуется найти объём, после чего необходимо выбрать метод вычисления: Линейная Интерполяция (следует использовать для участков, с линейной зависимостью) и Квадратичная Интерполяция (следует использовать для участков с квадратичной, либо иной зависимостью). Программа произведёт необходимые вычисления, и выведет результат. В случае, если известна плотность вещества, можно так же вычислить её массу. Для этого нужно нажать соответствующую кнопку и ввести плотность вещества в открывшемся окне. белым по белому???
Приложение 2
Приложение 3
Приложение 4