Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya_rabota_po_informatike_Nikolaeva_Dmitr...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.99 Mб
Скачать

3. Расчет в MatLab

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

AC1=input('AC1->');

al1g=input('al1(grad)->');

al1m=input('al1(min)->');

al1=al1g+al1m/60;

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

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

b1=b1g+b1m/60;

AB1=AC1*sin(b1*pi/180)/sin((180-b1-al1)*pi/180);

AB1

AC2=input('AC2->');

al2g=input('al2(grad)->');

al2m=input('al2(min)->');

al2=al2g+al2m/60;

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

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

b2=b2g+b2m/60;

AB2=AC2*sin(b2*pi/180)/sin((180-b2-al2)*pi/180);

AB2

AC3=input('AC3->');

al3g=input('al3(grad)->');

al3m=input('al3(min)->');

al3=al3g+al3m/60;

b3g=input('b3(grad)->');

b3m=input('b3(min)->');

b3=b3g+b3m/60;

AB3=AC3*sin(b3*pi/180)/sin((180-b3-al3)*pi/180);

AB3

AC4=input('AC4->');

al4g=input('al4(grad)->');

al4m=input('al4(min)->');

al4=al4g+al4m/60;

b4g=input('b4(grad)->');

b4m=input('b4(min)->');

b4=b4g+b4m/60;

AB4=AC4*sin(b4*pi/180)/sin((180-b4-al4)*pi/180);

AB4

AB=(AB1+AB2+AB3+AB4)/4

AB

AC1->204.66

al1(grad)->88 al1(min)->27 b1(grad)->48 b1(min)->21

AB1 = 223.3969

AC2->165.49

al2(grad)->88 al2(min)->23 b2(grad)->54 b2(min)->31

AB2 = 223.3988

AC3->175.96

al3(grad)->87 al3(min)->50 b3(grad)->53 b3(min)->7

AB3 =223.4026

AC4->240.53

al4(grad)->82 al4(min)->46 b4(grad)->46 b4(min)->13

AB4 = 223.3976

AB = 223.3990

4. Расчет в Visual Basic

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

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

ac1 = Val(TextBox1.Text): ac2 = Val(TextBox6.Text)

ac3 = Val(TextBox11.Text): ac4 = Val(TextBox16.Text)

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

al1 = Val(TextBox2.Text) + Val(TextBox8.Text) / 60

al2 = Val(TextBox7.Text) + Val(TextBox3.Text) / 60

al3 = Val(TextBox12.Text) + Val(TextBox13.Text) / 60

al4 = Val(TextBox17.Text) + Val(TextBox18.Text) / 60

ba1 = Val(TextBox4.Text) + Val(TextBox5.Text) / 60

ba2 = Val(TextBox9.Text) + Val(TextBox10.Text) / 60

ba3 = Val(TextBox19.Text) + Val(TextBox15.Text) / 60

ba4 = Val(TextBox14.Text) + Val(TextBox20.Text) / 60

Затем введя постоянную величину pi=3.1415926, следует вычислить неприступное расстояние. Это можно сделать с помощью конструкций:

ab1 = ac1 * Sin(ba1 * Pi / 180) / Sin((180 - al1 - ba1) * (Pi / 180))

ab2 = ac2 * Sin(ba2 * Pi / 180) / Sin((180 - al2 - ba2) * (Pi / 180))

ab3 = ac3 * Sin(ba3 * Pi / 180) / Sin((180 - al3 - ba3) * (Pi / 180))

ab4 = ac4 * Sin(ba4 * Pi / 180) / Sin((180 - al4 - ba4) * (Pi / 180))

Найдем среднее значение: ab = (ab1 + ab2 + ab3 + ab4) / 4

Для вывода ответа воспользуемся оператором Label1.Caption:

Label7.Caption = "ab1= " + Str(ab1)

Label8.Caption = "ab2= " + Str(ab2)

Label9.Caption = "ab3= " + Str(ab3)

Label10.Caption = "ab4= " + Str(ab4)

Label11.Caption = "ab= " + Str(ab)

Задание 3. Расчет превышения

П усть даны результаты измерений (рис. 7), проведенных с помощью геодезических приборов.

Рис. 7. Схема для вычисления превышения. Для того чтобы определить превышение точки 1 над точкой 2 необходимо с помощью прибора, расположенного на высоте над поверхностью земли i1, установленного в точке 1, измерить угол ν 1-2 между горизонтальной плоскостью и направлением на верхний край рейки, длиной V2, и установленной вертикально в точке 2. Кроме этого в распоряжении вычислителя имеется расстояние S1-2. Таким образом, для вычисления h1-2 необходимо исходить из известности: расстояния S1-2, угла ν 1-2, высот i1 и V2. Кроме величины расстояния S1-2 выраженного в метрах требуется величина Sкм. Это та же величина, но выраженная в километрах (Sкм=S1-2/1000). Расчет производится по формуле:

.