Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
модель скважины лаб 8.docx
Скачиваний:
16
Добавлен:
29.05.2017
Размер:
643.2 Кб
Скачать

При запуске получаем следующее изображение:

Проекции на оси:

Xy zx

ZY

Метод по радиусу кривизны

clear, clc

% L - длина ствола, a - зенитный угол, A - азимут

L = [0, 29, 49, 73, 105, 144, 190, 215];

a = [0, 2, 3, 7, 9, 18, 23, 27];

A = [0, 270, 240, 215, 230, 244, 256, 270];

% Перевод градусов в радианы

az = zeros(1, 8); az(1,:) = (A(1, :)*pi)/180;

z = zeros (1, 8); z(1,:) = (a(1, :)*pi)/180;

% Найдем координаты точек изгиба по формулам

% Y = ((L(1)-L(2))*(cos(z(1))-cos(z(2)))*(cos(a(1))-cos(a(2))))/((z(2)-z(1))*(a(2)-a(1)))

% X = ((L(1)-L(2))*(cos(z(1))-cos(z(2)))*(sin(a(1))-sin(a(2))))/((z(2)-z(1))*(a(2)-a(1)))

% Z = ( (L(1)-L(2)) * (sin(z(2))-sin(z(1))) ) /( (z(2)-z(1)) )

X = zeros(1, 8); Y = zeros(1, 8); Z = zeros(1, 8);

Y(1) = 0; X(1) = 0; Z(1) = 0;

for n = 2:8

Y(n) = Y(n-1) + ((L(n-1)-L(n))*(cos(z(n-1))-cos(z(n)))*(cos(az(n-1))-cos(az(n))))/((z(n)-z(n-1))*(az(n)-az(n-1)));

X(n) = X(n-1) + ((L(n-1)-L(n))*(cos(z(n-1))-cos(z(n)))*(sin(az(n))-sin(az(n-1))))/((z(n)-z(n-1))*(az(n)-az(n-1)));

Z(n) = Z(n-1) + ((L(n-1)-L(n))*(sin(z(n))-sin(z(n-1))))/((z(n)-z(n-1)));

end

% Построим график

mainGraph = plot3(X,Y,Z,'Color','b','LineWidth', 3);

hold on;

xlabel('X, м');

ylabel('Y, м');

zlabel('Z, м');

grid on;

text(X(1), Y(1), Z(1), ' устье');

text(X(8), Y(8), Z(8), ' забой');

%-------Верхняя граница-----

L = [0, 29, 49, 73, 105, 144, 190, 215];

a = [0, 2.5, 3.5, 7.5, 9.5, 18.5, 23.5, 27.5];

A = [0, 270.1, 240.1, 215.1, 230.1, 244.1, 256.1, 270.1];

az = zeros(1, 8); az(1,:) = (A(1, :)*pi)/180;

z = zeros (1, 8); z(1,:) = (a(1, :)*pi)/180;

X = zeros(1, 8); Y = zeros(1, 8); Z = zeros(1, 8);

Y(1) = 0; X(1) = 0; Z(1) = 0;

for n = 2:8

Y(n) = Y(n-1) + ((L(n-1)-L(n))*(cos(z(n-1))-cos(z(n)))*(cos(az(n-1))-cos(az(n))))/((z(n)-z(n-1))*(az(n)-az(n-1)));

X(n) = X(n-1) + ((L(n-1)-L(n))*(cos(z(n-1))-cos(z(n)))*(sin(az(n))-sin(az(n-1))))/((z(n)-z(n-1))*(az(n)-az(n-1)));

Z(n) = Z(n-1) + ((L(n-1)-L(n))*(sin(z(n))-sin(z(n-1))))/((z(n)-z(n-1)));

end

topGraph = plot3(X,Y,Z,'Color','r','LineWidth', 1);

hold on;

xlabel('X, м');

ylabel('Y, м');

zlabel('Z, м');

grid on;

%-------Нижняя граница-----

L = [0, 29, 49, 73, 105, 144, 190, 215];

a = [0, 1.5, 2.5, 6.5, 8.5, 17.5, 22.5, 26.5];

A = [0, 269.9, 239.9, 214.9, 229.9, 243.9, 255.9, 269.9];

az = zeros(1, 8); az(1,:) = (A(1, :)*pi)/180;

z = zeros (1, 8); z(1,:) = (a(1, :)*pi)/180;

X = zeros(1, 8); Y = zeros(1, 8); Z = zeros(1, 8);

Y(1) = 0; X(1) = 0; Z(1) = 0;

for n = 2:8

Y(n) = Y(n-1) + ((L(n-1)-L(n))*(cos(z(n-1))-cos(z(n)))*(cos(az(n-1))-cos(az(n))))/((z(n)-z(n-1))*(az(n)-az(n-1)));

X(n) = X(n-1) + ((L(n-1)-L(n))*(cos(z(n-1))-cos(z(n)))*(sin(az(n))-sin(az(n-1))))/((z(n)-z(n-1))*(az(n)-az(n-1)));

Z(n) = Z(n-1) + ((L(n-1)-L(n))*(sin(z(n))-sin(z(n-1))))/((z(n)-z(n-1)));

end

undGraph = plot3(X,Y,Z,'Color','r','LineWidth', 1);

hold on;

xlabel('X, м');

ylabel('Y, м');

zlabel('Z, м');

grid on;

При запуске получаем следующее изображение:

Проекции на оси:

Xy zx

ZY

Метод усреднения углов

clear, clc

% L - длина ствола, a - зенитный угол, A - азимут

L = [0, 29, 49, 73, 105, 144, 190, 215];

a = [0, 2, 3, 7, 9, 18, 23, 27];

A = [0, 270, 240, 215, 230, 244, 256, 270];

% Перевод градусов в радианы

azimut = zeros(1, 8); azimut(1,:) = (A(1, :)*pi)/180;

zenit = zeros (1, 8); zenit(1,:) = (a(1, :)*pi)/180;

% Найдем приращения координат по формулам

% x = (L(1)-L(2)) * sin((zenit(1)+zeint(2))/2) * sin((azimut(1)+azimut(2))/2)

% y = (L(1)-L(2)) * sin((zenit(1)+zeint(2))/2) * cos((azimut(1)+azimut(2))/2)

% z = (L(1)-L(2)) * cos((zenit(1)+zeint(2))/2)

X = zeros(1, 8); Y = zeros(1, 8); Z = zeros(1, 8);

Y(1) = 0; X(1) = 0; Z(1) = 0;

for n = 2:7

X(n) = X(n-1) + (L(n)-L(n+1)) * sin((zenit(n)+zenit(n+1))/2) * sin((azimut(n)+azimut(n+1))/2);

Y(n) = Y(n-1) + (L(n)-L(n+1)) * sin((zenit(n)+zenit(n+1))/2) * cos((azimut(n)+azimut(n+1))/2);

Z(n) = Z(n-1) + (L(n)-L(n+1)) * cos((zenit(n)+zenit(n+1))/2);

end

% Построим график

mainGraph = plot3(X(1:7),Y(1:7),Z(1:7),'Color','b','LineWidth', 3);

hold on;

xlabel('X, м');

ylabel('Y, м');

zlabel('Z, м');

grid on;

text(X(1), Y(1), Z(1), ' устье');

text(X(7), Y(7), Z(7), ' забой');

%----Верхняя граница-----

L = [0, 29, 49, 73, 105, 144, 190, 215];

a = [0, 2.5, 3.5, 7.5, 9.5, 18.5, 23.5, 27.5];

A = [0, 270.1, 240.1, 215.1, 230.1, 244.1, 256.1, 270.1];

azimut = zeros(1, 8); azimut(1,:) = (A(1, :)*pi)/180;

zenit = zeros (1, 8); zenit(1,:) = (a(1, :)*pi)/180;

X = zeros(1, 8); Y = zeros(1, 8); Z = zeros(1, 8);

Y(1) = 0; X(1) = 0; Z(1) = 0;

for n = 2:7

X(n) = X(n-1) + (L(n)-L(n+1)) * sin((zenit(n)+zenit(n+1))/2) * sin((azimut(n)+azimut(n+1))/2);

Y(n) = Y(n-1) + (L(n)-L(n+1)) * sin((zenit(n)+zenit(n+1))/2) * cos((azimut(n)+azimut(n+1))/2);

Z(n) = Z(n-1) + (L(n)-L(n+1)) * cos((zenit(n)+zenit(n+1))/2);

end

topGraph = plot3(X(1:7),Y(1:7),Z(1:7),'Color','r','LineWidth', 1);

hold on;

xlabel('X, м');

ylabel('Y, м');

zlabel('Z, м');

grid on;

%----Нижняя граница------

L = [0, 29, 49, 73, 105, 144, 190, 215];

a = [0, 1.5, 2.5, 6.5, 8.5, 17.5, 22.5, 26.5];

A = [0, 269.9, 239.9, 214.9, 229.9, 243.9, 255.9, 269.9];

azimut = zeros(1, 8); azimut(1,:) = (A(1, :)*pi)/180;

zenit = zeros (1, 8); zenit(1,:) = (a(1, :)*pi)/180;

X = zeros(1, 8); Y = zeros(1, 8); Z = zeros(1, 8);

Y(1) = 0; X(1) = 0; Z(1) = 0;

for n = 2:7

X(n) = X(n-1) + (L(n)-L(n+1)) * sin((zenit(n)+zenit(n+1))/2) * sin((azimut(n)+azimut(n+1))/2);

Y(n) = Y(n-1) + (L(n)-L(n+1)) * sin((zenit(n)+zenit(n+1))/2) * cos((azimut(n)+azimut(n+1))/2);

Z(n) = Z(n-1) + (L(n)-L(n+1)) * cos((zenit(n)+zenit(n+1))/2);

end

undGraph = plot3(X(1:7),Y(1:7),Z(1:7),'Color','r','LineWidth', 1);

hold on;

xlabel('X, м');

ylabel('Y, м');

zlabel('Z, м');

grid on;