Студопедия Главная Случайная страница Обратная связь

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

Решение вычислительных задач по геодезии с помощью си- стемы для математических расчетов 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; просмотров: 1199. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

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