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



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

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

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

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

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