От графика к формуле
Оглавление
От графика к формуле
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 2 из 8
Программно создается функция пользователя с именем(удельный перепад давления) и с
двумя аргументами: t — температура и v — скорость потока.
Функциясодержит в матрице м опорные точки интерполяции (результаты обмера
графика на бумаге обычной деревянной, а лучше — прозрачной пластиковой линейкой
или обмера отсканированного или "выуженного" из Интернета графика на экране
дисплея "штангенциркулем" какого-либо графического редактора ) с боковиком
(первый аргумент функции — температура) и "шапкой" (второй аргумент— скорость,
см. комментарий— текстовую константу в уже упомянутой левой "девятке"). Еще одна
особенность функции — возможность ее работы с размерными величинами (см. разд.
1.4), что позволяет вводить данные с любыми единицами скорости и в любых
температурных шкалах и иметь ответ также в разных единицах.
Примечание
Исходный график, показанный на рис. 4.1, в английском варианте единиц
измерения, кстати, имел ошибку — скорость потока за океаном измеряется не в
gpm/ft3, а в gpm/ft2 (галлон в минуту через квадратный фут). Ввод в расчет
единиц измерения позволяет выявлять подобные ошибки — бумага все стерпит, но
Mathcad — нет.
Данная функция позволяет не только вести интерполяцию, но и восстанавливать
исходное "семейство кривых" с графической интерпретацией самого процесса
интерполяции: по значению первого аргумента уже автоматически, а не мысленно
строится промежуточная кривая (у нас это изотерма, проведенная пунктиром), а по
значению второго— считывается и выводится с разными единицами измерения искомое
значение на оси у. Тут сам график может показаться лишним. Но его оставляют в
расчете для отображения некой динамики процесса и для контроля исходных
данных.
На рис. 4.3 показано, как двухмерная задача сводится к одномерной генерацией
вспомогательного вектора р ', хранящего значения перепада давления в
промежуточных точках, которые были получены одномерной сплайнинтерполяцией (оператор). Окончательный результат получен
при
новой сплайн-интерполяции уже по второму аргументу— по температуре (последний
оператор программы).
Если при штатной двухмерной сплайн-интерполяции, как уже отмечалось,
табличные значения будущей функции нужно держать в квадратной матрице, а
соответствующие им значения двух аргументов— в матрице с двумя столбцами и с
числом строк, равным порядку матрицы значений функции, то в нашей задаче на рис.
4.3 все эти значения хранятся в одной матрице М. Это существенно упрощает ее
редактирование или просто обзор. Матрица М встроенной функцией submatrix
раскладывается на векторы-аргументы т и v и на матрицу-функцию
Наш подход к снижению порядка задачи, показанный на рис. 4.3, можно применить
для решения уже четырехмерной задачи — генерации с помощью сплайн-интерполяции
функции трех аргументов (рис. 4.4).
Для хранения исходных табличных данных четырехмерной задачи5 нужна уже не
плоская, а объемная матрица со строками, столбцами и слоями. В языках
программирования такая конструкция есть (трехмерный массив: A(i, j, k)—BASIC,
A[i, j, k]^6 — Pascal и С), но в Mathcad—нет. Один из выходов — использование
составного массива, т. е. массива (в нашем случае матрицы), элементы которого —
новые массивы (матрицы). На рис. 4.4 "трехмерная" таблица исходных значений для
интерполяции занесена в составной массив M, где первый столбец хранит три
вектора, элементы которых — значения аргумента х с комментариями, а второй —
значения аргументов у и z, а также значения самой функции по структуре, уже
описанной нами на рис. 4.3 ("девятка", шапка, боковых и пр.). Далее— дело
техники: средствами программирования создается функция f(M, x, у, z), где наша
трехмерная задача сначала сводится к двухмерной, а затем к одномерной7.
Рис. 4.4. Программа четырехмерной сплайн-интерполяции
« Пред. - След. »