Решение вычислительных задач по геодезии с помощью си- стемы для математических расчетов MathCad
Для проведения вычислений можно использовать возможности математического пакета MathCad. Рассмотрим решение тестового примера для расчета углов треугольника с помощью программы MathCad. Запустим систему MathCad. Будем исходить из того, что координаты вершин треугольника заданы. Будем задавать их с помощью операции присваивания в рабочем поле окна программы. Для координат первой вершины это можно сделать с помощью конструкций: x1:=-3 y1:=0. Для набора знака:= следует воспользоваться кнопкой панели Арифметика. При этом координатам следует присваивать значения координат точек, например, из тестового примера. Для координат остальных вершин x2, y2, x3, y3 необходимо поступать аналогичным образом. После ввода координат необходимо выполнить вычисление квадратов сторон и самих сторон. Это можно сделать с помощью конструкций: AB2:= (x2 - x1)2 + (y2 - y1)2 AB:=
Здесь операция возведения в квадрат оформляется с использованием кнопки Затем следует вычислить величину угла в граудусах с долями:
180
acos é(BC2+ AC2 - AB2)ù p ë 2 × BC× AC û. Здесь acos означает обращение к математической функции аркосинус, множитель 180/pi необходим для перевода из радиан в градусы. Дроби набираются с использованием кнопки Для вывода окончательных ответов или промежуточных зна- чений необходимо ввести в рабочем окне имя переменной, в кото- рой хранится нужная величина и вслед за ней ввести знак равенства без двоеточия. Для того, чтобы вывести значение угла в градусах с долями необходимо использовать конструкцию: C=35.727. Причем операция вывода производится с использованием кнопки
Из величин углов в градусах и долях необходимо выделить градусы, минуты и секунды с долями. Для этого следует воспользоваться конструкциями: Cg:= trunc (C) Cm:= trunc [(C - Cg) × 60]
Cs:= round ééC - æ Cg + öù × 3600, 1ù, ëë è 60 øû û где Cg – градусы угла, Cm – минуты угла, Cs – секунды угла, trunc – функция взятия целой части числа (отбрасывание дробной части), round – функция округления с точностью до одного знака после запятой. Для остальных углов следует поступать аналогично. После последних вычислений необходимо вывести результат. Это можно сделать с помощью конструкций: Cg = 35 Cm = 43 Cs = 38.6 Таким образом, весь вычисляющий код будет иметь вид:
y1:= 0 x2:= 4 y2:= -3 x3:= 8 y3:= 7
AB:= BC:= AC:= AB2 BC2 AC2
180
acos é(BC2+ AC2 - AB2)ù p ë 2 × BC× AC û
180
acos é(AB 2 + AC 2 - BC 2)ù p ë 2 × AB × AC û
180
acos é(AB2 + BC2- AC2)ù p ë 2 × AB × BC û C = 35.727 Cg:= trunc (C)
Cm:= trunc [(C - Cg) × 60] Cs:= round ééC - æ Cg + öù × 3600, 1ù ëë è 60 øû û A = 55.67 Ag:= trunc (A)
Am:= trunc[(A - Ag) × 60] As:= round ééA - æ Ag + öù × 3600, 1ù ëë è 60 øû û
Bg:= trunc (B) Bm:= trunc [(B - Bg) × 60]
Видно, что получаются те же значения, которые были полу- чены при проведении расчетов при помощи электронных таблиц. Набранные конструкции могут быть сохранены в виде фай- ла, с тем, чтобы в дальнейшем при необходимости произвести за- грузку и расчеты. Следует отметить, что сохранение документов MathCad может быть осуществлено в файл формата rtf (для Word). Решение задачи на вычисление превышения в MathCad можно произвести с использованием следующего кода: i1:= 1.42 s:= 1785.4
17.8 v2:= 3
n:= -æ 1 + ö h:= s × tan æ n × ö + i1 - v2 + 0.0675× æö
è 180ø è 1000ø h = -41.777. Округлив полученное значение, будем иметь h=-41.78. Видно, что получается то же значение, которое было полу- чено при проведении расчетов при помощи электронных таблиц. Решение задачи вычисления координат удаленной точки по формулам Юнга можно произвести с использованием следующего кода: x1:= 50 y1:= 50 x2:= 30 y2:= 70
p 9.8
0.7
b2:= b2 ×
x1
x2 tan (b1)
- y1 + y2 y1
tan (b2) y2 tan (b1)
+ x1 - x2
tan (b1)
tan (b1)
xp = 42.112 yp = 72.912. Видно, что получаются те же значения, которые были полу- чены при проведении расчетов при помощи электронных таблиц. Решение обратной угловой засечки по формулам Пранис- Праневича можно произвести с использованием следующего кода: x1:= 3 y1:= 1 15.3 x2:= 1 y2:= 4 1.0 x3:= 2 y3:= 7 - задание координат
p be:= 19 +
- задание углов
be:= be ×
- перевод градусов в радианы
[(y2 - y1) × cot (al) - (y3 - y2) × cot (be) + x1 - x3] [(x2 - x1) × cot (al) - (x3 - x2) × cot (be) - y1 + y3] n:= (y2 - y1) × (cot (al) - tgq) - (x2 - x1) × (1 + cot (al) × tgq) n
1 + tgq2 xp:= x2 + dx yp:= y2 + dy xp = 10.372 yp = 2.283 - выдача ответа Видно, что получаются значения, приведенные в тестовом примере. Решение задачи на вычисление неприступного расстояния в MathCad можно произвести с использованием следующего кода: AC 1:= 225.78 базисов A C 2:= 2 2 7. 3 8A C 3:= 1 9 3. 4 8A C 4:= 2 4 1. 1 9- ввод d1:= æ81 + è d3:= æ87 + è 14ö ×
60ø p
d2:= æ88 + è d4:= æ89 + è 55ö ×
60ø p
- ввод первого угла и пе- ревод в радианы b1:= æ54 + è b3:= æ55 + è 37ö ×
60ø p
b2:= æ49 + è b4:= æ47 + è 55ö ×
60ø p
- ввод второго угла и пе- ревод в радианы
sin(b1)
AB2:= AC2 ×
sin(b2)
AB3:= AC3 ×
расстояний sin(p - d1 - b1)
AB4:= AC4 × sin(p - d2 - b2)
- расчет AB 1 + AB 2 + AB 3 + AB 4
AB = 264.286. После округления АВ=264.29.
|