Сделай Сам Свою Работу на 5

Проектирование алгоритма определения координат объекта.





Вычисление данных функции будем производить по инженерной методике проектирования ассемблерных программ для вычислительных алгоритмов [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 = Мcwx*2-16 = 215 * 214 * 2-16 = 213

Масштаб y1 окончательный – Мy1=215, коэффициент запаса по точности определим как p1 = log2y1*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 = М λ1y1*2-16 = 215 * 214 * 2-16 = 213

Масштаб y2 окончательный – Мy2=215, коэффициент запаса по точности определим как p2 = log2y2*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 = Мcwy*2-16 = 215 * 216 * 2-16 = 215

Масштаб y1 окончательный – Мy1=217, коэффициент запаса по точности определим как p1 = log2y1*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 = Мy1y3*2-16 = 217 * 214 * 2-16 = 215

Масштаб y4 окончательный – Мy4=217, коэффициент запаса по точности определим как p3 = log2y4*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 = log2y4*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(Мy2y4*y6) = min(215,217,214) = 214.

Вычислим коэффициенты выравнивания масштабов k1, ky6:

Ky2 = Мy6y2 =214/214 = 20,

Ky4 = Мy6y4 =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(Мy6y5y7) = 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]*20, [y81] = [y8]*2ky8, [y9]=[ λ0]+[y81].

Окончательный масштаб y7:

Мy9 = min(М λ0y8y9) = min(214,218,214) = 214.

Вычислим коэффициенты выравнивания масштабов k λ0, ky8:

K λ0=20

ky8= 2-4

 

 

По полученным данным реализуем алгоритм программы для вычисления Λ0i+10i+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 = log2y11*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(Мy14y13*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:

1 = 20,

ky16= 2-4.

 

По полученным данным реализуем алгоритм программы для вычисления Λ1i+11i+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:

2 = 20,

ky16= 2-5.

По полученным данным реализуем алгоритм программы для вычисления Λ2i+12i+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:

3 = 20,

ky30= 2-5.

 

 

По полученным данным реализуем алгоритм программы для вычисления Λ3i+13i+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 график ошибки.

 

 


Реализация графа ошибки.

В графоаналитическом методе рассматриваются трансформируемая и инструментальная ошибки.

  1. Трансформируемая ошибка.
    • Операция сложения.

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 Граф ошибки операции деления.

  1. Инструментальная ошибка.

∆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 Все материалы защищены законодательством РФ.