|
Проектирование алгоритма определения координат объекта.
Вычисление данных функции будем производить по инженерной методике проектирования ассемблерных программ для вычислительных алгоритмов [1].
В таблице 1 представлены арифметические операции вычисления заданной функции для λ0i+1.
Таблица 1 - Арифметические операции вычисления λ0i+1
Арифметические операции
| y1=0,5*ωx
y2=y1*λ1
y3=0,5* ωy
y4=y3* λ2
y5=y3* λ3
y6=-y2-y4
y7=y6-y5
y8=h*y7
y9= λ0+y8
| 9 операций:
умножений – 6
вычитаний – 2
сложения – 1
|
Вычислим наибольшие значения всех переменных рабочего алгоритма.
Таблица 2 - Наибольшие значения всех переменных рабочего алгоритма
Переменная
| Наибольшее значение
| y1
| 0.75
| y2
| 0.838
| y3
| 0.2
| y4
| 0.223
| y5
| 0.173
| y6
| -1.061
| y7
| -1.234
| y8
| -0.077
| y9
| 1.502
| Произведём масштабирование, начиная с первой операции рабочего алгоритма. Примем для масштабирования целочисленную арифметику.
Операция 1. y1=c*wx, |c|max = 0.5, |wx|max=1.5, |y1|max = 0.75.
Машинный алгоритм операции:
[y11] = [c]*[wx], [y1] = [y11]*22.
Масштаб y1 предварительный
М*y1 = Мc*Мwx*2-16 = 215 * 214 * 2-16 = 213
Масштаб y1 окончательный – Мy1=215, коэффициент запаса по точности определим как p1 = log2(Мy1/М*y1) = log2(215/213) = 2.
Операция 2. y2= λ1*y1, | λ1|max=1.118, |y2|max=0.838.
Машинный алгоритм операции:
[y21] = [λ1]*[y1], [y2] = [y21]*22.
Масштаб y2 предварительный
М*y2 = М λ1*Мy1*2-16 = 215 * 214 * 2-16 = 213
Масштаб y2 окончательный – Мy2=215, коэффициент запаса по точности определим как p2 = log2(Мy2/М*y2) = log2(215/213) = 2.
Операция 3. y3=c*wy, |c|max = 0.5, |wy|max=0.4, |y1|max = 0.2.
Машинный алгоритм операции:
[y31] = [c]*[wy], [y3] = [y31]*22.
Масштаб y1 предварительный
М*y3 = Мc*Мwy*2-16 = 215 * 216 * 2-16 = 215
Масштаб y1 окончательный – Мy1=217, коэффициент запаса по точности определим как p1 = log2(Мy1/М*y1) = log2(217/215) = 2.
Операция 4. y4=y3* λ2, | λ2|max=1.118, |y4|max= 0.223
Машинный алгоритм операции:
[y41] = [y3]*[ λ2], [y4] = [y41]*22.
Масштаб y4 предварительный
М*y4 = Мy1*Мy3*2-16 = 217 * 214 * 2-16 = 215
Масштаб y4 окончательный – Мy4=217, коэффициент запаса по точности определим как p3 = log2(Мy4/М*y4) = log2(217/215) = 2.
Операция 5. y5=y3* λ3, | λ3|max=0.865, |y5|max= 0.173
Машинный алгоритм операции:
[y51] = [y3]*[ λ3], [y5] = [y51]*21.
Масштаб y5 предварительный
М*y5 = Мy3*М λ3*2-16 = 217 * 215 * 2-16 = 216
Масштаб y4 окончательный – Мy4=217, коэффициент запаса по точности определим как p3 = log2(Мy4/М*y4) = log2(217/216) = 1.
Операция 6. Y6=-y2-y4, |y7|max=-1.061.
Мy2=215, Мy4=217, М*y6=214.
Машинный алгоритм операции:
[y22] = [y2]*2-1, [y41] = [y4]*2-3, [y7]=[y22]-[y61].
Окончательный масштаб y6:
Мy6 = min(Мy2,Мy4,М*y6) = min(215,217,214) = 214.
Вычислим коэффициенты выравнивания масштабов k1, ky6:
Ky2 = Мy6/Мy2 =214/214 = 20,
Ky4 = Мy6/Мy4 =214/217 = 2-3,
Операция 7. y7=y6-y5, |y7|max=-1.234.
Мy7=214, Мy6=214, Мy5=217.
Машинный алгоритм операции:
[y61] = [y6]*2ky6, [y51] = [y5]*2ky5, [y7]=[y61]-[y51].
Окончательный масштаб y7:
Мy7 = min(Мy6,Мy5,Мy7) = min(214,217,214) = 214.
Вычислим коэффициенты выравнивания масштабов k1, ky6:
Ky620
ky5= 2-5
Операция 8. y=y8=h*y7, |y8|max= -0.077, h=0.0625.
Машинный алгоритм операции:
[y81] = [h]*[y7], [y] = [y81]*22.
Масштаб y предварительный
М*y8 = 216
Масштаб y окончательный – Мy8=218, коэффициент запаса по точности определим как p8 = 2
Операция 9. Y9=λ0+y8, |y9|max=1.502, | λ0|max=1.579.
М λ0=214, Мy8=218, Мy9=214.
Машинный алгоритм операции:
[λ0] = [λ0]*2kλ0, [y81] = [y8]*2ky8, [y9]=[ λ0]+[y81].
Окончательный масштаб y7:
Мy9 = min(М λ0,Мy8,Мy9) = min(214,218,214) = 214.
Вычислим коэффициенты выравнивания масштабов k λ0, ky8:
K λ0=20
ky8= 2-4
По полученным данным реализуем алгоритм программы для вычисления Λ0i+1=λ0i+h*(-0.5*ωx* λ1-0.5*ωy* λ2 -0.5*ωz* λ3):
mov ax, с
mov bx, wx
imul bx
shld dx,ax,2
mov y1,dx
mov ax, dx
mov bx, h1
imul bx
shld dx,ax,2
mov y2,dx
mov ax, c2
mov bx, wy
imul bx
shld dx,ax,2
mov y3, dx
mov ax, y3
mov bx, h2
imul bx
shld dx,ax,2
mov y4,dx
mov ax, y3
mov bx, h3
imul bx
shld dx,ax,1
mov y5, dx
mov ax, y2
mov bx, y4
sar ax, 1
sar bx, 3
sub ax, bx
mov bx, y5
sar bx, 3
sub ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h0
mov bx, dx
sar bx, 4
add ax, bx
mov h0i, ax
Вычисление данной функции будем производить по инженерной методике проектирования ассемблерных программ для вычислительных алгоритмов [1].
В таблице 3 представлены арифметические операции вычисления заданной функции λ1i+1.
Таблица 3 - Арифметические операции вычисления λ1i+1
Арифметические операции
| y11= y1*λ0
y12=y3*λ2
y13= y3*λ3
y14=y11+y12
y15=y14-y13
y16=y15*h
y17= λ2+y16
| 7 операций:
умножений – 4
вычитаний – 1
сложения – 2
|
Вычислим наибольшие значения всех переменных рабочего алгоритма.
Таблица 4 - Наибольшие значения всех переменных рабочего алгоритма
Переменная
| Наибольшее значение
| y11
| 1.184
| y12
| 0.223
| y13
| 0.173
| y14
| 1.407
| y15
| 1.234
| y16
| 0.077
| y17
| 1.195
| Произведём масштабирование, начиная с первой операции рабочего алгоритма. Примем для масштабирования целочисленную арифметику.
Операция 11. y11=y1* λ0, |y11|max = 1.184.
Машинный алгоритм операции:
[y111] = [y11]*[ λ0], [y111] = [y11]*21.
Масштаб y11 предварительный
М*y11 = 213
Масштаб y11 окончательный – Мy1=214, коэффициент запаса по точности определим как p1 = log2(Мy11/М*y11) = log2(214/213) = 1.
Операция 12. y2=y3* λ2, |y12|max=0.223
Машинный алгоритм операции:
[y121] =[ λ2]*[y3], [y121] = [y12]*22.
Масштаб y12 предварительный
М*y12 = 215
Масштаб y12 окончательный – Мy12=217, коэффициент запаса по точности определим как p12 = 2.
Операция 13. Y13=y3* λ3, |y13|max=0,173.
Масштаб y13 предварительный
М*y13 = 216
Масштаб y13 окончательный – Мy13=217, коэффициент запаса по точности определим как
p13= 1.
Операция 14. Y14=y11+y12, |y14|max=1,407.
M*y14=214, Мy12=217, Мy11=214.
Машинный алгоритм операции:
[y111] = [y111]*2ky11, [y112] = [y12]*2ky12,
[y14]=[y11]+[y12].
Окончательный масштаб y14:
Мy14 = 214.
Вычислим коэффициенты выравнивания масштабов ky11, ky12:
Ky11= = 0,
ky12= -3.
Операция 5. Y15=y14 – y13 |y15|max=1.234.
М*y15=214, Мy14=214, Мy13=217.
Машинный алгоритм операции:
[y141] = [y14]*2k14, [y131] = [y13]*2ky13, [y15]=[y14]-[y13].
Окончательный масштаб y15:
Мy15 = min(Мy14,Мy13,М*y15) = min(214,217,214) = 214.
Вычислим коэффициенты выравнивания масштабов ky14, ky13:
Ky14 = 0,
ky13= -3
Операция 16. Y16=h*y15, |y16|max=0.077.
Машинный алгоритм операции:
[y161] = [h]*[y15], [y16] = [y161]*22.
Масштаб y16 предварительный
М*y6 = 216
Масштаб y16 окончательный – Мy6=218, коэффициент запаса по точности определим как p16 = 2.
Операция 17. Y17=λ1+y16, |y7|max=1.195
М*y17=214, Мλ1=214, Мy16=218.
Окончательный масштаб y17:
Мy17 = 214.
Вычислим коэффициенты выравнивания масштабов kλ1, ky16:
kλ1 = 20,
ky16= 2-4.
По полученным данным реализуем алгоритм программы для вычисления Λ1i+1=λ1i+h*(0.5*ωx* λ0+0.5*ωz* λ2 -0.5*ωy* λ3):
mov ax, y1
mov bx, h0
imul bx
shld dx,ax,1
mov y11,dx
mov ax, y3
mov bx, h2
imul bx
shld dx,ax,2
mov y12,dx
mov ax, y3
mov bx, h3
imul bx
shld dx,ax,1
mov y13,dx
mov ax, y11
mov bx, y12
sar bx, 3
add ax, bx
mov bx, y13
sar bx, 3
sub ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h1
mov bx, dx
sar bx, 4
add ax, bx
mov h11i, ax
Вычисление данной функции будем производить по инженерной методике проектирования ассемблерных программ для вычислительных алгоритмов [1].
В таблице 4 представлены арифметические операции вычисления заданной функции λ1i+1.
Таблица 4 - Арифметические операции вычисления λ1i+1
Арифметические операции
| y18= y3*λ0
y19=y3*λ1
y20= y1*λ3
y21=y18-y19
y22=y21+y20
y23=y22*h
y24= λ3+y23
| 7 операций:
умножений – 4
вычитаний – 1
сложения – 2
| Вычислим наибольшие значения всех переменных рабочего алгоритма.
Таблица 4 - Наибольшие значения всех переменных рабочего алгоритма
Переменная
| Наибольшее значение
| y18
| 0.315
| y19
| 0.223
| Y20
| 0.648
| Y21
| 0.092
| Y22
| 0.74
| Y23
| 0.046
| Y24
| 1.164
| Произведём масштабирование, начиная с первой операции рабочего алгоритма. Примем для масштабирования целочисленную арифметику.
Операция 18 y18=y3* λ0, |y18|max = 0.315.
Машинный алгоритм операции:
[y181] = [y31]*[ λ0], [y181] = [y11]*21.
Масштаб y18 предварительный
М*y18 = 215
Масштаб y18 окончательный – Мy18=216, коэффициент запаса по точности определим как p18= 1.
Операция 19. Y19=y3* λ1, |y19|max=0.223
Машинный алгоритм операции:
[y191] =[ λ1]*[y3], [y191] = [y19]*22.
Масштаб y19 предварительный
М*y19 = 215
Масштаб y19 окончательный – Мy19=217, коэффициент запаса по точности определим как p19 = 2.
Операция 20. Y20=y1* λ3, |y20|max=0,648.
Масштаб y20 предварительный
М*y13 = 214
Масштаб y20 окончательный – Мy20=215, коэффициент запаса по точности определим как
P20= 1.
Операция 21. Y21=y18-y19, |y21|max=0.092
M*y21=218, Мy18=216, Мy19=217.
Машинный алгоритм операции:
[y181] = [y18]*2ky18, [y191] = [y19]*2ky19,
[y21]=[y18]-[y19].
Окончательный масштаб y21:
Мy21 = 216.
Вычислим коэффициенты выравнивания масштабов ky18, ky19:
Ky18= 0,
ky19= -1.
Операция 22. Y22=y21 + y20 |y22|max=0.74.
М*y22=215, Мy21=218, Мy20=215.
Машинный алгоритм операции:
[y211] = [y21]*2k21, [y201] = [y20]*2ky20, [y22]=[y21]+[y20].
Окончательный масштаб y22:
Мy22 = 215.
Вычислим коэффициенты выравнивания масштабов ky21, ky20:
Ky21 = -3,
ky20= 0
Операция 23. Y23=h*y22, |y23|max=0.046.
Машинный алгоритм операции:
[y231] = [h]*[y22], [y23] = [y231]*22.
Масштаб y23 предварительный
М*y23 = 217
Масштаб y23 окончательный – Мy23=219, коэффициент запаса по точности определим как p23 = 2.
Операция 24. Y24=λ2+y23, |y24|max=1.164
М*y24=214, Мλ2=214, Мy23=219
Окончательный масштаб y24:
Мy24 = 214.
Вычислим коэффициенты выравнивания масштабов kλ1, ky16:
Kλ2 = 20,
ky16= 2-5.
По полученным данным реализуем алгоритм программы для вычисления Λ2i+1=λ2i+h*(0.5*ωy* λ0-0.5*ωz* λ1 +0.5*ωx* λ3):
mov ax, y3
mov bx, h0
imul bx
shld dx,ax,1
mov y18,dx
mov ax, y3
mov bx, h1
imul bx
shld dx,ax,2
mov y19,dx
mov ax, y1
mov bx, h3
imul bx
shld dx,ax,1
mov y20,dx
mov ax, y18
mov bx, y19
sar bx, 1
sub ax, bx
mov bx, y20
sar ax, 3
add ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h2
mov bx, dx
sar bx, 5
add ax, bx
mov h22i, ax
Вычисление данной функции будем производить по инженерной методике проектирования ассемблерных программ для вычислительных алгоритмов [1].
В таблице 6 представлены арифметические операции вычисления заданной функции λ2i+1.
Таблица 6 - Арифметические операции вычисления λ1i+1
Арифметические операции
| Y26= y18
Y26=y19
y27= y1*λ2
y28=y25+y26
y29=y28-y27
y30=y29*h
y24= λ3+y30
| 5 операций:
умножений – 2
вычитаний – 1
сложения – 2
| Вычислим наибольшие значения всех переменных рабочего алгоритма.
Таблица 7 - Наибольшие значения всех переменных рабочего алгоритма
Переменная
| Наибольшее значение
| Y25
| 0.315
| Y26
| 0.223
| Y27
| 0.838
| Y28
| 0.538
| Y29
| -0.3
| Y30
| -0.018
| Y31
| 0.847
|
Произведём масштабирование, начиная с первой операции рабочего алгоритма. Примем для масштабирования целочисленную арифметику.
Операция 27 y27=y1* λ2, |y27|max = 0.838.
Машинный алгоритм операции:
[y271] = [y11]*[ λ2], [y271] = [y27]*22.
Масштаб y27 предварительный
М*y27 = 213
Масштаб y27 окончательный – Мy27=215, коэффициент запаса по точности определим как p27= 2.
Операция 28. Y28=y25 + y26 |y28|max=0.538.
М*y28=215, Мy25=216, Мy26=217.
Машинный алгоритм операции:
[y251] = [y25]*2k25, [y261] = [y26]*2ky26, [y28]=[y25]+[y26].
Окончательный масштаб y28:
Мy28 = 215.
Вычислим коэффициенты выравнивания масштабов ky25, ky26:
Ky25 =2-1,
ky26= 2-2
Операция 29. Y29=y28 - y27 |y29|max=-0.3.
М*y29=216, Мy28=215, Мy27=215.
Машинный алгоритм операции:
[y281] = [y28]*2k28, [y271] = [y27]*2ky27, [y29]=[y28]-[y27].
Окончательный масштаб y29:
Мy29 = 215.
Вычислим коэффициенты выравнивания масштабов ky28, ky27:
Ky28 =2-1,
ky27= 2-2
Операция 30. Y30=h*y29, |y30|max=-0.018.
Машинный алгоритм операции:
[y301] = [h]*[y29], [y291] = [y29]*22.
Масштаб y30 предварительный
М*y30 = 218
Масштаб y30 окончательный – Мy30=220, коэффициент запаса по точности определим как p23 = 2.
Операция 31. Y31=λ3+y30, |y31|max=0.847
М*y31=215, Мλ3=215, Мy30=220
Окончательный масштаб y30:
Мy31 = 215.
Вычислим коэффициенты выравнивания масштабов kλ1, ky16:
Kλ3 = 20,
ky30= 2-5.
По полученным данным реализуем алгоритм программы для вычисления Λ3i+1=λ3i+h*(0.5*ωz* λ0+0.5*ωy* λ1 -0.5*ωx* λ2):
mov ax, y1
mov bx, h2
imul bx
shld dx,ax,2
mov y27,dx
mov ax, y18
mov bx, y19
sar ax, 1
sar bx, 2
sub ax, bx
mov bx, y27
add ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h3
mov bx, dx
sar bx, 5
add ax, bx
mov h33i, ax
По полученным данным реализуем алгоритм программы для вычисления:
; dosseg
.model tiny
.code
.486 ;для возможности применять команду SHLD, которой нет в мик-
; ропроцессорах 8086, 80186, 80286 фирмы Intel
m1: mov ax,@code
mov ds,ax
mov es,ax
xor ax,ax
xor bx,bx
xor cx,cx
xor dx,dx
;=======================
; Тело программы
;=======================
; Открытие файла результатов
;-----------------------
mov ah, 3ch
mov cx, 0
mov dx, offset f_name
int 21h
mov handle, ax
;-----------------------
; Блок вычисления полинома
;-----------------------
m2: xor ax, ax ;
xor bx, bx ; очистка регистров
xor cx, cx ;
xor dx, dx ;
;-----------------------
mainLoop:
mov ax, c1
mov bx, wx
imul bx
shld dx,ax,2
mov y1,dx
mov ax, dx
mov bx, h1
imul bx
shld dx,ax,2
mov y2,dx
mov ax, c2
mov bx, wy
imul bx
shld dx,ax,2
mov y3, dx
mov ax, y3
mov bx, h2
imul bx
shld dx,ax,2
mov y4,dx
mov ax, y3 ; здесь было z
mov bx, h3
imul bx
shld dx,ax,1
mov y5, dx
mov ax, y2
mov bx, y4
sar ax, 1
sar bx, 3
sub ax, bx
mov bx, y5
sar bx, 3
sub ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h0
mov bx, dx
sar bx, 4
add ax, bx
mov h0i, ax
;h1i+1
mov ax, c2
mov bx, wx
imul bx
shld dx,ax,2
mov y11,dx
mov ax, y11
mov bx, h0
imul bx
shld dx,ax,1
mov y12,dx
mov ax, y3
mov bx, h2
imul bx
shld dx,ax,2
mov y14,dx
mov ax, y3
mov bx, h3
imul bx
shld dx,ax,1
mov y16,dx
mov ax, y12
mov bx, y14
sar bx, 3
add ax, bx
mov bx, y16
sar bx, 3
sub ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h1
mov bx, dx
sar bx, 4
add ax, bx
mov h11i, ax
;h2i+1
mov ax, y3
mov bx, h0
imul bx
shld dx,ax,1
mov y22,dx
mov ax, y3
mov bx, h1
imul bx
shld dx,ax,2
mov y24,dx
mov ax, y11
mov bx, h3
imul bx
shld dx,ax,1
mov y26,dx
mov ax, y22
mov bx, y24
sar bx, 1
sub ax, bx
mov bx, y26
sar ax, 3
add ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h2
mov bx, dx
sar bx, 5
add ax, bx
mov h22i, ax
;h3i+1
mov ax, y3
mov bx, h0
imul bx
shld dx,ax,1
mov y32,dx
mov ax, y3
mov bx, h1
imul bx
shld dx,ax,2
mov y34,dx
mov ax, y11
mov bx, h2
imul bx
shld dx,ax,2
mov y36,dx
mov ax, y32
mov bx, y34
sar ax, 1
sar bx, 2
add ax, bx
mov bx, y36
add ax, bx
mov bx, h
imul bx
shld dx,ax,2
mov ax, h3
mov bx, dx
sar bx, 5
add ax, bx
mov h33i, ax
mov ax,h0i
mov h0,ax
mov ax,h11i
mov h1,ax
mov ax,h22i
mov h2,ax
mov ax,h33i
mov h3,ax
;jmp mainLoop
;-----------------------
; Запись в файл результатов текущего значения аргумента х
;-----------------------
mov ah,40h
mov bx, handle
mov cx, 2
mov dx, offset h
int 21h
;-----------------------
; Запись в файл результатов текущего значения аргумента y
;-----------------------
mov ah, 40h
mov dx, offset h0i
int 21h
mov ah, 40h
mov dx, offset h11i
int 21h
mov ah, 40h
mov dx, offset h22i
int 21h
mov ah, 40h
mov dx, offset h33i
int 21h
;-----------------------
; Проверка на окончание счета и увеличение аргумента на шаг
;-----------------------
cmp x, 1E0h
je m3 ; если вычисления закончены - переход на завершение ; работы, если не окончены - увеличение значения
add x, 001h ; аргумента на шаг равный 0,125 и возврат на начало
;add h, 4000h
; вычислений с новым значением аргумента Х
jmp m2
;-----------------------
; Закрытие файла результатов по окончании счета
;-----------------------
m3: mov ah,3eh
mov bx, handle
int 21h
;=======================
; Выход в MS DOS
;-----------------------
mov ah, 4ch
int 21h
;=======================
; Блок задания переменных
;-----------------------
;записать значения постоянных, h0-лямбда0
x dw 0h
h0 dw 2000h
h1 dw 2000h
h2 dw 2000h
h3 dw 4000h
;wx-омега x
wx dw 6000h
wy dw 6666h
wz dw 6666h
c1 dw 0C000h
c2 dw 4000h
h dw 4000h
y1 dw ?
y2 dw ?
y3 dw ?
y4 dw ?
y5 dw ?
h0i dw ?
y11 dw ?
y12 dw ?
y14 dw ?
y16 dw ?
;h11i это h1i+1
h11i dw ?
y22 dw ?
y24 dw ?
y26 dw ?
;h22i это h2i+1
h22i dw ?
y32 dw ?
y34 dw ?
y36 dw ?
;h33i это h3i+1
h33i dw ?
handle dw ?
f_name db 'c:\temp\tasm\p_15.dat'
;=======================
end m1
;=======================
В таблице 8 приведены входные параметры для программы.
Таблица 8. Входные параметры.
H
| Wx
| Wy
| Wz
|
| 1,5
| 0,4
| 0,4
| 0,0625
| 1,5
| 0,4
| 0,4
| 0,0625
| 1,5
| 0,4
| 0,4
| 0,0625
| 1,5
| 0,4
| 0,4
|
В таблице 9,10 приведены результаты вычисления координат объекта с помощью Excel и ассемблера, а также в таблице 11 показаны ошибки вычисления.
Таблица 9. Полученные результаты с помощью Excel.
λ0i+1
| λ1i+1
| λ2i+1
| λ3i+1
| T
| 0,5
| 0,5
| 0,5
| 0,5
|
| 0,4640625
| 0,5234375
| 0,5234375
| 0,4890625
| 0,0625
| 0,426870117
| 0,545620117
| 0,545620117
| 0,476870117
| 0,125
| 0,388513046
| 0,566489029
| 0,566489029
| 0,463450302
| 0,1875
| 0,349084631
| 0,585988562
| 0,585988562
| 0,448833655
| 0,25
| 0,30868114
| 0,60406634
| 0,60406634
| 0,433053856
| 0,3125
| 0,267401528
| 0,620673425
| 0,620673425
| 0,41614759
| 0,375
| 0,225347198
| 0,635764445
| 0,635764445
| 0,39815446
| 0,4375
| 0,182621754
| 0,649297719
| 0,649297719
| 0,379116897
| 0,5
| ……………………………………………………………………………………………………………………
1,351528116
| -0,785447561
| -0,785447561
| 0,451748884
| 29,5
| 1,392517204
| -0,737559637
| -0,737559637
| 0,495642745
| 29,5625
| 1,430114273
| -0,687700422
| -0,687700422
| 0,538402823
| 29,625
| 1,464216451
| -0,635990106
| -0,635990106
| 0,579918953
| 29,6875
| 1,494729376
| -0,582553823
| -0,582553823
| 0,620083819
| 29,75
| 1,521567462
| -0,527521354
| -0,527521354
| 0,658793223
| 29,8125
| 1,544654127
| -0,471026812
| -0,471026812
| 0,695946363
| 29,875
| 1,563922014
| -0,413208314
| -0,413208314
| 0,731446087
| 29,9375
| 1,579313182
| -0,35420765
| -0,35420765
| 0,765199148
|
|
На рис.2 представлен график движения объекта, реализованный с помощью дифференциальной функции второго порядка в среде Excel.
Рис. 3 Движение объекта .
Таблица 10. Полученные результаты с помощью Ассемблера.
H
| λ0i+1
| λ1i+1
| λ2i+1
| λ3i+1
|
| 0,464050293
| 0,5234375
| 0,5234375
| 0,517944336
| 0,0625
| 0,426452637
| 0,545227051
| 0,547485352
| 0,536376953
| 0,125
| 0,387329102
| 0,565307617
| 0,57220459
| 0,555267334
| 0,1875
| 0,346740723
| 0,583618164
| 0,59765625
| 0,574615479
| 0,25
| 0,3046875
| 0,600158691
| 0,623840332
| 0,594421387
| 0,3125
| 0,261291504
| 0,614807129
| 0,650756836
| 0,614685059
| 0,375
| 0,21661377
| 0,627502441
| 0,678405762
| 0,635406494
| 0,4375
| 0,170776367
| 0,638183594
| 0,706848145
| 0,656555176
| 0,5
| 0,123779297
| 0,646789551
| 0,73614502
| 0,678161621
| ……………………………………………………………………………………………………………….
29,5
| 0,616638184
| -0,451477051
| -0,691223145
| -0,25970459
| 29,5625
| 0,649658203
| -0,427978516
| -0,700073242
| -0,274902344
| 29,625
| 0,681884766
| -0,402893066
| -0,709594727
| -0,28994751
| 29,6875
| 0,713256836
| -0,376220703
| -0,719848633
| -0,304840088
| 29,75
| 0,743652344
| -0,348022461
| -0,730773926
| -0,319610596
| 29,8125
| 0,773071289
| -0,318359375
| -0,742370605
| -0,334289551
| 29,875
| 0,801452637
| -0,287231445
| -0,754638672
| -0,348876953
| 29,9375
| 0,828674316
| -0,254760742
| -0,76763916
| -0,363372803
|
| 0,854736328
| -0,221008301
| -0,781311035
| -0,377807617
|
На рис.3 представлен график движения объекта, реализованный с помощью дифференциальной функции второго порядка с помощью ассемблера.
Рис. 3 Движение объекта
Таблица 11. Ошибки вычисления
H
| ошибка 1
| ошибка 2
| ошибка 3
| ошибка 4
|
| -0,035949707
| 0,0234375
| 0,0234375
| 0,017944336
| 0,0625
| -0,037609863
| 0,021789551
| 0,058422852
| 0,047314453
| 0,125
| -0,039970703
| 0,020117188
| 0,093723145
| 0,076785889
| 0,1875
| -0,043041245
| 0,018398056
| 0,129447495
| 0,106406723
| 0,25
| -0,046894556
| 0,016667554
| 0,165641336
| 0,136222391
| 0,3125
| -0,05148443
| 0,014835582
| 0,202347503
| 0,166275726
| 0,375
| -0,056828265
| 0,012869523
| 0,239606273
| 0,196607005
| 0,4375
| -0,062884762
| 0,01073308
| 0,277516445
| 0,227223476
| 0,5
| -0,069736797
| 0,008386172
| 0,316174348
| 0,258190949
| ………………………………………………………………………………….
29,5
| -0,570275435
| 0,169356013
| -0,525667661
| -0,094149106
| 29,5625
| -0,570495852
| 0,137217972
| -0,549354179
| -0,12418328
| 29,625
| -0,568530852
| 0,1051087
| -0,574127589
| -0,154480372
| 29,6875
| -0,564358043
| 0,073167831
| -0,60001169
| -0,185003145
| 29,75
| -0,558023546
| 0,041477876
| -0,626907169
| -0,215743839
| 29,8125
| -0,549459098
| 0,010124904
| -0,654774798
| -0,246693743
| 29,875
| -0,538665346
| -0,020740778
| -0,683574494
| -0,277812775
| 29,9375
| -0,525712021
| -0,051088105
| -0,713326457
| -0,3090601
|
| -0,510554981
| -0,080822523
| -0,743928161
| -0,340424743
|
На рис.4 представлен график ошибки.
Рис. 4 график ошибки.
Реализация графа ошибки.
В графоаналитическом методе рассматриваются трансформируемая и инструментальная ошибки.
- Трансформируемая ошибка.
z = x + y; [z] = kx[x] + ky[y]
Рис.12 Граф ошибки операции сложения.
· Операция умножения.
z = x * y
∆zx = kx∆x kx = y → |y|max
∆zy = ky∆y ky = x → |x|max
Рис.13 Граф ошибки операции умножения.
· Операция деления.
z = x / y
∆zx = Сx∆x Сx = 1/y → 1/|y|min
∆zy = Сy∆y Сy = |xmax/ymin2|
Рис.14 Граф ошибки операции деления.
- Инструментальная ошибка.
∆zин = 1/sqrt(3)* 2-n
∆zин = 1/sqrt(3)* 2-32
∆zин = 1,34*10-10
Полностью граф ошибки представлен в графической части курсовой работы.
Технологическая часть
Требования к составу и параметрам технических средств.
Требования к программному обеспечению.
· Windows XP/Vista/7/8 (x86)
· Turbo Assembler
Требования к оборудованию.
· Процессор с частотой 1 ГГц или выше.
· Оперативная память 512 Мб или выше.
· Видеокарта с объёмом памяти 64 Мб или выше.
· Мышь.
· Клавиатура.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|