|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ПРИЛОЖЕНИЕ 3. КОМПЬЮТЕРНАЯ ПРОГРАММА ОДНОФАКТОРНОГО КОРРЕЛЯЦИОННО-РЕГРЕССИОННОГО АНАЛИЗА5 CLS 8 PRINT TAB(24)"З А Д А Ч А P R O G N" 9 PRINT TAB(21)"К А Ф Е Д Р А";:PRINT" *БНТУ*"; 10 PRINT" О А П Д Д " 17 PRINT TAB(10)"ОДНОФАКТОРНЫЙ КОРРЕЛЯЦИОННО-РЕГРЕССИОННЫЙ АНАЛИЗ ТЭП" 20 DEFINT I-N 25 F1$="+#.###^^^^" 35 GOTO 50 40 N=N1-1:DIM Q(255),Y(255),T3(255),X(255),F(11),E(11),R(11) 45 RETURN 50 PRINT"ВВЕДИТЕ ЗНАЧЕНИЕ ФАКТОРА ДЛЯ РАСЧЕТНОЙ ТОЧКИ";: INPUT T4 70 PRINT"ВВЕДЕНЫ ЛИ ИСХОДНЫЕ ДАННЫЕ. ДА- 1,НЕТ- 0":INPUT R5 80 IF R5=0 THEN PRINT"ВВЕДИТЕ ИСХОДНЫЕ ДАННЫЕ":GOTO 300 90 OPEN"I",#2,"PROGN.DAT" 95 INPUT #2,FS$ 97 INPUT #2,N1:GOSUB 40 100 FOR I=0 TO N 110 INPUT #2,T3(I),Q(I) 120 NEXT I 130 CLOSE #2 140 CLS:PRINT" ИСХОДНЫЕ ДАННЫЕ":PRINT"ПОРЯДКОВ. N ФАКТОР ТЭП" 142 FOR I=1 TO N+1:PRINT I,T3(I-1),Q(I-1):NEXT I 149 PRINT"ТРЕБУЕТСЯ ЛИ КОРРЕКТИРОВАТЬ ИСХОДНЫЕ ДАННЫЕ. ДА- 1,НЕТ- 0" 150 INPUT R6 160 IF R5=0 AND R6=0 THEN 340 170 IF R6=0 THEN 371 180 PRINT"КОРРЕКТИРОВАТЬ ЗНАЧЕНИЯ ФАКТОРА? ДА- 1,НЕТ- 0" 190 INPUT R8:IF R8=0 THEN 250 200 PRINT"ПОРЯДКОВЫЙ НОМЕР(СЧИТАЯ С ЕДИНИЦЫ) ЗНАЧЕНИЯ ФАКТОРА," 210 PRINT"ПОДЛЕЩАЩЕГО ИЗМЕНЕНИЮ":INPUT IS 220 IF IS<1 OR IS>N+1 THEN PRINT"ВЫ ДОПУСТИЛИ ОШИБКУ":GOTO 210 230 IS=IS-1:PRINT"НОВОЕ ЗНАЧЕНИЕ ФАКТОРА":INPUT T3(IS) 240 GOTO 180 250 PRINT"КОРРЕКТИРОВАТЬ ЗНАЧЕНИЯ ТЭП? ДА- 1,НЕТ- 0":INPUT R9 260 IF R9=0 THEN R5=0:GOTO 140 270 PRINT"ПОРЯДКОВЫЙ НОМЕР(СЧИТАЯ С ЕДИНИЦЫ) ЗНАЧЕНИЯ ТЭП":INPUT IS 280 IF IS<1 OR IS>N+1 THEN PRINT"ВЫ ДОПУСТИЛИ ОШИБКУ":GOTO 270 290 IS=IS-1:PRINT"НОВОЕ ЗНАЧЕНИЕ ТЭП":INPUT Q(IS):GOTO 250 300 CLS:INPUT"НАЗВАНИЕ ПРОГНОЗИРУЕМОГО ТЭП";FS$ 302 INPUT"ЧИСЛО ЗНАЧЕНИЙ ФАКТОРА";N1:GOSUB 40 305 PRINT"ПОСЛЕДОВАТЕЛЬНО ЗНАЧЕНИЯ ФАКТОРА" 310 FOR I=0 TO N:INPUT T3(I):NEXT I 320 PRINT"ПОСЛЕДОВАТЕЛЬНО ЗНАЧЕНИЯ ТЭП" 330 FOR I=0 TO N:INPUT Q(I):NEXT I:GOTO 140 340 OPEN"O",#3,"PROGN.DAT" 345 WRITE #3,FS$ 347 WRITE #3,N1 350 FOR I=0 TO N 360 WRITE #3,T3(I),Q(I):NEXT I 370 CLOSE #3 371 FOR I=0 TO N-1:K=I 372 J=K+1:IF T3(K)<=T3(J) THEN 378 373 TX=T3(K):QX=Q(K):T3(K)=T3(J):Q(K)=Q(J):T3(J)=TX:Q(J)=QX:K=K-1 374 IF K>=0 THEN 372 378 NEXT I 380 D$="ВЫРАВНИВАЮЩАЯ ЗАВИСИМОСТЬ" 392 N5=N+1:T3(N5)=T4 396 DIM Q1(255),T(255) 400 FOR I=0 TO N5:T(I)=T3(I):NEXT I 412 OPEN"O",#1,"PROGN.REZ" 415 PRINT #1, TAB(10)"ОДНОФАКТОРНЫЙ АНАЛИЗ ТЭП" 416 PRINT #1, TAB(5)"("FS$")" 420 MM=-1:PRINT"ТРЕБУЕТСЯ ЛИ НАЙТИ НАИБОЛЕЕ ПОДХОДЯЩУЮ МОДЕЛЬ" 430 PRINT"ЗАВИСИМОСТИ? НЕТ - 0, ТРЕБУЕТСЯ ПО КРИТЕРИЮ" 440 PRINT"ФИШЕРА - 1, ПО СРЕДНЕЙ ЛИНЕЙНОЙ ОШИБКЕ" 450 PRINT"АППРОКСИМАЦИИ - 2":INPUT R7:IF R7=0 THEN R8=1:GOTO 460 455 PRINT"РАССМАТРИВАТЬ ЛИ ФУНКЦИИ,ИМЕЮЩИЕ ЭКСТРЕМУМ.ДА- 1,НЕТ- 0" 456 INPUT R8 460 RRR=1 465 IF R7<>0 THEN M=0:MO=-1:FF=0:EE=100:GOTO 530 470 PRINT"ВВЕДИТЕ НОМЕР МАТЕМАТИЧЕСКОЙ МОДЕЛИ M" 480 PRINT"МАТЕМАТИЧЕСКИМ МОДЕЛЯМ ПРИСВОЕНЫ СЛЕДУЮЩИЕ НОМЕРА" 490 PRINT"0- T/(A*T+B) 1- A*T+B 2- A*T^2+B*T+C 3- A*T^K+B" 500 PRINT"4- 1/(A*T+B) 5- A*LN T+B*T+C 6- A/T+B 7- B*A^T" 510 PRINT"8- 1/(A*EXP(-T)+B) 9- B*T^A 10- A*LN T+B"; 520 PRINT" 11- B*A^(1/T)":INPUT M:GOTO 550 530 PRINT #1,:PRINT #1, D$;" КРИТЕРИЙ ФИШЕРА СРЕДНЯЯ ЛИНЕЙНАЯ" 540 PRINT #1, TAB(43)" F ОШИБКА АППРОКСИМАЦИИ Е":PRINT #1, 550 ON M+1 GOTO 560,630,700,880,960,1030,1220,1290,1360,1430,1500,1570 560 FOR I=0 TO N:Y(I)=1/Q(I):X(I)=1/T(I):NEXT I 570 GOSUB 2110 580 B=A1:A=B1 590 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 600 PRINT #1," Q=T/("USING F1$;A;:PRINT #1,"*T";:PRINT #1, USING F1$;B; 605 PRINT #1,")"; 610 FOR I=0 TO N5:Q1(I)=T(I)/(A*T(I)+B):NEXT I 620 GOTO 1640 630 FOR I=0 TO N:Y(I)=Q(I):X(I)=T(I):NEXT I 640 GOSUB 2110 650 A=A1:B=B1 660 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 670 PRINT #1," Q="USING F1$;A;:PRINT #1,"*T";:PRINT #1, USING F1$;B; 680 FOR I=0 TO N5:Q1(I)=A*T(I)+B:NEXT I 690 GOTO 1640 700 S1=0:S2=0:S3=0:S4=0:S5=0:S6=0 710 FOR I=0 TO N:S1=S1+T(I):NEXT I 720 T1=S1/N1 730 FOR I=0 TO N 740 S2=S2+Q(I):S3=S3+(T(I)-T1)^2 750 S4=S4+(T(I)-T1)^4 760 S5=S5+Q(I)*(T(I)-T1) 770 S6=S6+Q(I)*(T(I)-T1)^2 780 NEXT I 790 B1=S5/S3 800 A=(S6-S2*S3/N1)/(S4-S3^2/N1) 810 C1=(S2-A*S3)/N1 820 B=B1-2*A*T1 830 C=C1+A*T1^2-B1*T1 840 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 850 PRINT #1," Q="USING F1$;A;:PRINT #1,"*T^2"USING F1$;B; 855 PRINT #1,"*T"USING F1$;C; 860 FOR I=0 TO N5:Q1(I)=A*T(I)^2+B*T(I)+C:NEXT I 870 GOTO 1640 880 PRINT:INPUT"ПОКАЗАТЕЛЬ СТЕПЕНИ В СТЕПЕННОЙ ЗАВИСИМОСТИ T";PK 890 FOR I=0 TO N:Y(I)=Q(I):X(I)=T(I)^PK:NEXT I 900 GOSUB 2110 910 B=B1:A=A1 920 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 930 PRINT #1," Q="USING F1$;A;:PRINT #1,"*T^"USING F1$;PK; 935 PRINT #1, " "USING F1$;B; 940 FOR I=0 TO N5:Q1(I)=A*T(I)^PK+B:NEXT I 950 GOTO 1640 960 FOR I=0 TO N:Y(I)=1/Q(I):X(I)=T(I):NEXT I 970 GOSUB 2110 980 B=B1:A=A1 990 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1000 PRINT #1," Q= 1/("USING F1$;A;:PRINT #1,"*T"USING F1$;B; 1005 PRINT #1,")"; 1010 FOR I=0 TO N5:Q1(I)=1/(A*T(I)+B):NEXT I 1020 GOTO 1640 1030 S1=0:S2=0:S3=0:S4=0:S5=0:S6=0 1040 S7=0:S8=0 1050 FOR I=0 TO N:X(I)=LOG(T(I)):S1=S1+X(I):S2=S2+T(I):NEXT I 1060 X1=S1/N1:T1=S2/N1 1070 FOR I=0 TO N 1080 S3=S3+Q(I):S4=S4+(X(I)-X1)^2 1090 S5=S5+(T(I)-T1)^2 1100 S6=S6+Q(I)*(X(I)-X1) 1110 S7=S7+Q(I)*(T(I)-T1) 1120 S8=S8+(X(I)-X1)*(T(I)-T1) 1130 NEXT I 1140 C1=S3/N1 1150 B=(S7-S6*S8/S4)/(S5-S8^2/S4) 1160 A=(S6-B*S8)/S4 1170 C=C1-A*X1-B*T1 1180 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1190 PRINT #1," Q="USING F1$;A;:PRINT #1,"*LN T"USING F1$;B"*T";: 1195 PRINT #1, USING F1$;C; 1200 FOR I=0 TO N5:Q1(I)=A*LOG(T(I))+B*T(I)+C:NEXT I 1210 GOTO 1640 1220 FOR I=0 TO N:Y(I)=Q(I):X(I)=1/T(I):NEXT I 1230 GOSUB 2110 1240 B=B1:LET A=A1 1250 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1260 PRINT #1," Q="USING F1$;A;:PRINT #1, "/T"USING F1$;B; 1270 FOR I=0 TO N5:Q1(I)=A/T(I)+B:NEXT I 1280 GOTO 1640 1290 FOR I=0 TO N:Y(I)=LOG(Q(I)):X(I)=T(I):NEXT I 1300 GOSUB 2110 1310 A=EXP(A1):B=EXP(B1) 1320 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1330 PRINT #1," Q="USING F1$;B;:PRINT #1,"*"USING F1$;A;:PRINT #1,"^T"; 1340 FOR I=0 TO N5:Q1(I)=B*A^T(I):NEXT I 1350 GOTO 1640 1360 FOR I=0 TO N:Y(I)=1/Q(I):X(I)=EXP(-T(I)):NEXT I 1370 GOSUB 2110 1380 A=A1:B=B1 1390 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1400 PRINT #1," Q=1/("USING F1$;A;:PRINT #1,"*EXP(-T)"USING F1$;B; 1405 PRINT #1,")"; 1410 FOR I=0 TO N5:Q1(I)=1/(A*EXP(-T(I))+B):NEXT I 1420 GOTO 1640 1430 FOR I=0 TO N:Y(I)=LOG(Q(I)):X(I)=LOG(T(I)):NEXT I 1440 GOSUB 2110 1450 A=A1:B=EXP(B1) 1460 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1470 PRINT #1," Q="USING F1$;B;:PRINT #1,"*T^"USING F1$;A; 1480 FOR I=0 TO N5:Q1(I)=B*T(I)^A:NEXT I 1490 GOTO 1640 1500 FOR I=0 TO N:Y(I)=Q(I):X(I)=LOG(T(I)):NEXT I 1510 GOSUB 2110 1520 A=A1:B=B1 1530 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1540 PRINT #1," Q="USING F1$;A;:PRINT #1,"*LN T"USING F1$; B; 1550 FOR I=0 TO N5:Q1(I)=A*LOG(T(I))+B:NEXT I 1560 GOTO 1640 1570 FOR I=0 TO N:Y(I)=LOG(Q(I)):X(I)=1/T(I):NEXT I 1580 GOSUB 2110 1590 A=EXP(A1):B=EXP(B1) 1600 IF R7=0 THEN PRINT #1,:PRINT #1, D$; 1610 PRINT #1," Q="USING F1$;B;:PRINT #1,"*"USING F1$;A; 1615 PRINT #1,"^(1/T)"; 1620 FOR I=0 TO N5:Q1(I)=B*A^(1/T(I)):NEXT I 1630 GOTO 1640 1640 S=0:C2=0:C3=0:C4=0 1650 FOR I=0 TO N:C2=C2+Q(I):NEXT I 1660 Q5=C2/(N+1) 1665 IIR=0 1680 FOR I=0 TO N 1685 IF Q1(I)=0 THEN IIR=1:GOTO 1710 1690 S=S+ABS((Q(I)-Q1(I))/Q1(I)) 1700 C3=C3+(Q(I)-Q5)^2:C4=C4+(Q(I)-Q1(I))^2 1710 NEXT I 1715 IF IIR=0 AND C4<C3 THEN 1720 1717 PRINT"ЗАВИСИМОСТЬ N% "M" НЕ ПОДХОДИТ":E(M)=1:F(M)=0:R(M)=0:GOTO 1730 1720 R=SQR(1-C4/C3):IF C4=0 THEN F(M)=1E20 ELSE F(M)=(C3-C4)*(N-1)/C4:E(M)=S/N1 1730 IF MM=13 THEN 1810 1740 IF R7=0 THEN 1840 1750 IF R7=2 THEN 1770 1760 IF FF<F(M) THEN FF=F(M):MO=M:GOTO 1780 1765 GOTO 1780 1770 IF EE>E(M) THEN EE=E(M):MO=M 1780 PRINT #1, TAB(40) USING F1$;F(M);TAB(60) E(M) 1790 IF M=11 THEN M=MO:MM=13:R8=R7:R7=0:PRINT #1,:GOTO 550 1800 M=M+1:IF R8=0 AND M=2 OR M=5 THEN M=M+1 1805 GOTO 550 1810 PRINT #1,:PRINT #1,"(НАИБОЛЕЕ ЗНАЧИМАЯ ПО"; 1820 IF R8=1 THEN PRINT #1," КРИТЕРИЮ ФИШЕРА)":PRINT #1,:GOTO 1840 1830 PRINT #1," СРЕДНЕЙ ЛИНЕЙНОЙ":PRINT #1,"ОШИБКЕ АППРОКСИМАЦИИ)":PRINT #1, 1840 PRINT #1,:PRINT #1," T"," Q"," Q1" 1850 FOR I=0 TO N:PRINT #1, TAB(1)USING F1$;T(I)TAB(16)Q(I)TAB(32)Q1(I) 1855 NEXT I 1860 PRINT #1,:PRINT #1,"КОЭФФИЦИЕНТ КОРРЕЛЯЦИИ R="USING F1$;R 1870 PRINT #1,"КРИТЕРИЙ ФИШЕРА F="USING F1$;F(M) 1880 PRINT #1,"КОЭФФИЦИЕНТ ЛИНЕЙНОЙ ОШИБКИ АППРОКСИМАЦИИ E="USING F1$;E(M) 1890 PRINT #1,"ЗНАЧЕНИЕ ПОКАЗАТЕЛЯ В РАСЧЕТНОЙ ТОЧКЕ="USING F1$;T4; 1900 PRINT #1," -- "USING F1$;Q1(N5):PRINT #1,:PRINT #1,"ТОЧЕЧНАЯ ДИАГРАММА" 1910 FOR I=1 TO 56:PRINT #1, TAB(I)"-";:NEXT I:PRINT #1, ">";:PRINT #1, TAB(58)"Q" 1920 Q7=Q1(0) 1930 FOR I=1 TO N5 1940 IF Q1(I)>Q7 THEN Q7=Q1(I):GOTO 1950 1950 NEXT I 1960 A3=55/Q7 1970 FOR I=0 TO N:PRINT #1,"I":PRINT #1,"I"; 1980 Q2=CINT(Q1(I)*A3):Q3=CINT(Q(I)*A3) 1990 IF Q3>Q2 THEN PRINT #1, TAB(Q2)"*";TAB(Q3)"+":GOTO 2020 2000 IF Q3=Q2 THEN PRINT #1, TAB(Q2)"#":GOTO 2020 2010 PRINT #1, TAB(Q3)"+";TAB(Q2)"*" 2020 NEXT I 2030 PRINT #1,"I";:PRINT #1,TAB(Cint(Q1(N5)*A3))"&" PRINT #1,"v":PRINT #1,"T":PRINT #1, 2050 PRINT #1," + ЭМПИРИЧЕСКИЕ, * ТЕОРЕТИЧЕСКИЕ, # ПРИ СОВПАДЕНИИ, & ДЛЯ РАСЧЕТНОЙ ТОЧКИ" 2070 PRINT #1,:PRINT #1, TAB(20)".....***....." 2080 PRINT"ТРЕБУЕТСЯ ЛИ ПРОДОЛЖИТЬ РАСЧЕТЫ? ДА- 1, НЕТ- 0" 2090 INPUT K5:IF K5=1 THEN 420 2100 PRINT:GOTO 2180 2110 S1=0:S2=0:S3=0:S4=0 2120 FOR I=0 TO N:S1=S1+X(I):NEXT I 2130 X1=S1/N1 2140 FOR I=0 TO N:S2=S2+Y(I):S3=S3+(X(I)-X1)^2 2150 S4=S4+(X(I)-X1)*Y(I):NEXT I 2155 IF S3=0 THEN 2170 2160 A1=S4/S3:B1=S2/N1-X1*A1 2170 RETURN 2180 CLOSE #1 2185 COLOR 25,5,15:PRINT " РЕЗУЛЬТАТЫ РАСЧЕТА В ФАЙЛЕ PROGN.REZ" 2187 PRINT " ИСХОДНЫЕ ДАННЫЕ ДЛЯ ПОВТОРНОГО РАСЧЕТА В ФАЙЛЕ PROGN.DAT" 2188 BBB$=INKEY$ 2190 IF LEN(BBB$)=0 THEN 2188 2200 END Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.016 сек.) |