Комментарии |
Программа c*Программа для расчета корреляции без логарифмирования *Автор алгоритма и программы В.Д.Брусницын *Начало составления программы 1993 - 2000 гг. PROCEDURE korrel CLOSE ALL SET TALK OFF SET NULL ON DEFINE POPUP OBJ_FIL PROMPT FILES LIKE *.DBF MESSAGE; "ОТКРЫТЬ ФАЙЛ ДЛЯ РАСЧЕТА КОРРЕЛЯЦИИ" TITLE "ОТКРЫТЬ ФАЙЛ ДЛЯ РАСЧЕТА КОРРЕЛЯЦИИ" ON SELECTION POPUP OBJ_FIL DEACTIVATE POPUP OBJ_FIL ACTIVATE POPUP OBJ_FIL USE PROMPT() NOUPDATE imia = PROMPT() beg = f_fiel() VIV_FILE = STRTRAN(ALLTRIM(imia),".dbf",".cor") goodone = FCREATE(VIV_FILE) *CLEAR FPUTS(goodone," Таблица ") FPUTS(goodone," ") txts1 = "Корреляция между элементами в файле: "+ VIV_FILE FPUTS(goodone, txts1) COUNT TO stuks FPUTS(goodone, "Количество проб в выборке :"+STR(stuks)) n_fiel = FCOUNT() GO TOP txts1 = "" FOR i = beg TO n_fiel pli=FIELD(i) txts = UPPER(SUBSTR(pli,1,1))+LOWER(SUBSTR(pli,2,1)) txts = alltrim(pli) txts1 = txts1+" "+txts ii=ALLTRIM(STR(i)) FOR j=beg TO i-1 jj=ALLTRIM(STR(j)) pj=FIELD(j) COUNT TO stuks1 for isnull(&Pli)=.F. and isnull(&pj) = .F. SUM((&Pli)^2) TO ss&ii for isnull(&Pli)=.F. and isnull(&pj) = .F. SUM((&Pli)) TO s&ii for isnull(&Pli)=.F. and isnull(&pj) = .F. SUM((&Pj)^2) TO ss&jj for isnull(&Pli)=.F. and isnull(&pj) = .F. SUM((&Pj)) TO s&jj for isnull(&Pli)=.F. and isnull(&pj) = .F. SUM((&pli)*(&pj)) TO Sij for isnull(&Pli)=.F. and isnull(&pj) = .F. Rij=(Sij-s&ii*s&jj/stuks1)/SQRT((ss&ii- s&ii*s&ii/stuks1)*(ss&jj-s&jj*s&jj/stuks1)) txts = txts + STR(ROUND(Rij,2),7,2) &&+STR(ROUND(stuks1,2),7,2) ENDFOR FPUTS(goodone,txts) ENDFOR FPUTS(goodone,txts1) *FPUTS(goodone,"Автор алгоритма и программы В.Д.Брусницын") CLOSE ALL На главную страницу |
brusmann@mail.ru AbacusComp@yandex.ru © Василий Брусницын. Ивдель-Екатеринбург, 2010 г. Св. обл. Мотив +79045490809 |