Студопедия — Решение вычислительных задач по геодезии с помощью си- стемы для математических расчетов MatLab
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Решение вычислительных задач по геодезии с помощью си- стемы для математических расчетов MatLab






Для проведения вычислений можно использовать

вычислительные возможности математического пакета MatLab.

Рассмотрим решение тестового примера для расчета углов треугольника с помощью системы Matlab. Для этого выполним следующую последовательность действий:

1. Запустим программу Matlab.

2. Нажав кнопку на панели инструментов, откроем окно

редактирования программы.

3. Будем набирать программные конструкции.

Самое первое действие в программе должно быть очистка экрана от предшествующих надписей. Это делается оператором clc. Затем необходимо прочитать исходные значения координат. Для координат первой вершины это можно сделать с помощью конструкций:

x1=input('x1->'); y1=input('y1->');,

где комбинация букв, заключенная в апострофы (одиночные кавычки), выступает в роли подсказки при вводе. Для координат


остальных вершин x 2, y2, x3, y3 необходимо поступать аналогичным образом.

После ввода координат необходимо выполнить вычисление квадратов сторон и самих сторон. Это можно сделать с помощью конструкций:

ab2=(x2-x1)^2+(y2-y1)^2; ab=sqrt(ab2);.

Здесь знаками ^2 обозначена операция возведения в квадрат, sqrt

позволяет вычислить квадратный корень.

Для остальных длин сторон и их квадратов необходимо выполнить аналогичные действия.

Затем следует вычислить величину угла в граудусах с

долями:

c=(180/pi)*acos((bc2+ac2-ab2)/(2*bc*ac));.

Для вычисления остальных углов следует поступать

аналогично. В последнем фрагменте множитель 180/pi необходим для перевода из радиан в градусы, а acos означает обращение к

встроенной в Matlab функции.

Из величин углов в градусах с долями необходимо выделить градусы, минуты и секунды с долями. Для этого следует воспользоваться конструкциями:

cg=fix(c); cm=fix((c-cg)*60); csec=(c-(cg+cm/60))*3600;,

где c – величина угла в градусах с долями, cg – градусы угла, cm

минуты угла, csec – секунды угла, fix – функция взятия целой части числа (отбрасывание дробной части). Для остальных углов следует

поступать аналогично.

После последних вычислений необходимо выдать результат на экран. Это можно сделать, указав имя переменной, в которой

хранится соотвествующая вычисляемая величина, например, cg. Для

вывода остальных значений следует поступать аналогично. Кроме такого способа вывода вычисленных значений возможен еще такой, когда после вычисляемого выражения не ставится точка с запятой. Это означает, что соотвествующее вычисленное значение будет выдано на экран.

4. Закончив набор, можно запускать программу на исполне- ние активизацией кнопки на панели инструментов. При этом следует перейти в окно исполнения программы, в котором будут


появляться конструкции подсказок, запрограммированные в опера- торах ввода. В соответствующих строках следует производить ввод значений:

x1->-3 y1->0

x2->4

и т.д.

При запуске программы на исполнение и вводе данных для тестового примера получаем на экране представленный ранее ре- зультат. Если в программе обнаружатся ошибки, то необходимо устранить их причину и вновь производить запуск программы на исполнение.

Решение задачи на вычисление превышения в MatLab можно произвести с использованием следующей последовательности опе- раторов:

% превышение clc

i1=input('i1------->');

s =input('s-------->');

v2=input('v2------->'); ng=input('nu(grad)->');

nm=input('nu(min)-->');

n=(ng+nm/60);

h=s*tan(n*pi/180)+i1-v2+0.0675*(s/1000)^2

Решение задачи вычисления координат точки по формулам Юнга можно произвести с использованием следующей последова- тельности операторов:

% расчет по формулам Юнга clc

x1=input('x1->');

y1=input('y1->');

x2=input('x2->');

y2=input('y2->');

b1g=input('b1(grad)->');

b1m=input('b1(min)-->');

b1s=input('b1(sec)-->');


b2g=input('b2(grad)->');

b2m=input('b2(min)-->');

b2s=input('b2(sec)-->');

b1=b1g+b1m/60+b1s/3600; b2=b2g+b2m/60+b2s/3600; b1=b1*pi/180; b2=b2*pi/180;

xp=(x1*cot(b2)+x2*cot(b1)-y1+y2)/(cot(b1)+cot(b2)) yp=(y1*cot(b2)+y2*cot(b1)+x1-x2)/(cot(b1)+cot(b2))

Решение задачи вычисления координат точки по формулам

Гаусса можно произвести с использованием следующей последова- тельности операторов:

% Расчет по формулам Гаусса clc

x1 = input('x1->');

y1 = input('y1->');

x2 = input('x2->');

y2 = input('y2->');

a1g = input('a1(grag)->');

a1m = input('a1(min)->');

a2g = input('a2(grag)->');

a2m = input('a2(min)->');

a1= a1g+a1m/60; a2=a2g+a2m/60; a1= a1 * pi / 180; a2 = a2 * pi / 180;

xp= (x1 * tan(a1) - x2 * tan(a2) + y2 - y1) / (tan(a1) - tan(a2)) yp= y1 + (xp-x1)*tan(a1)

Решение обратной угловой засечки по формулам Пранис-

Праневича можно произвести с использованием следующей после- довательности операторов:

% расчет по формулам Пранис-Праневича clc

x1=input ('x1, y1->');

y1=input ('x1, y1->');

x2=input ('x2, y2->');

y2=input ('x2, y2->');

x3=input ('x3, y3->');

y3=input ('x3, y3->');

alg=input ('al(grad)->');


alm=input ('al(min)-->');

beg=input ('be(grad)->');

bem=input ('be(min)-->'); al = alg + alm / 60;

be = beg + bem / 60;

al = al * pi / 180; be = be * pi / 180;

tgq=((y2-y1)/tan(al)-(y3-y2)/tan(be)+x1-x3)/((x2-x1)/tan(al)-(x3- x2)/tan(be)-y1+y3);

n = (y2 - y1) * (1/tan(al) - tgq) - (x2 - x1) * (1 + 1/tan(al) * tgq);

dx = n / (1 + tgq ^ 2); dy = dx * tgq; xp = x2 + dx

yp = y2 + dy

Решение обратной геодезической задачи с помощью MatLab можно произвести с использованием следующей последовательно-

сти операторов:

% ОГЗ

Clc

x1 = input('x1->');

y1 = input('y1->');

x2 = input('x2->');

y2 = input('y2->');

al=atan((y2-y1)/(x2-x1))*180/pi; if ((x2-x1)<0)

al=180+al;

elseif ((y2-y1)<0) al=360+al

End

s=sqrt((y2-y1)^2+(x2-x1)^2) alg = fix(al)

alm = ((al - alg) * 60)

 







Дата добавления: 2015-10-02; просмотров: 1142. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия