第一个程序是数据处理——主成分分析;
其结果是第二个程序——模糊聚类的原始数据。
将这两个程序合成一个程序
。/
大家能不能给点意见啊,看看下面的vb 代码是什么格式的啊?
还有象下面的basic代码应该用什么工具调试啊???
具体代码如下,
主成分分析程序
10 REM ***********************************************************************
20 REM * *
30 REM * *** PRIMARY COMPONENT ANALYSIS *** *
40 REM * *
50 REM * PROGRAM NAME : PRIMARY *
60 REM * *
70 REM * AUTHOR : *
80 REM *THE COMPUTER CENTRE OF THE PLANNING AND ECONOMIC COMMITTEE OF SICHUAN*
90 REM * THE GROUP OF MULTI-VARIATE STATISTICAL ANALYSIS *
100 REM * WRITTEN DATA : 1984 *
110 REM * *
120 REM * 1. MAIN FUNCTION : *
130 REM * *
140 REM * THIS PROGRAM IS DESIGNED TO FIND VOUT THE P PRIMARY COMPONENTS *
150 REM * OF N OBSERVATION SAMPLES WHICH POSSESS THE M DIMENSION COORDINATE *
160 REM * ADOPTING THE ROTATION TRANSFORMATION FOR COORDINATE AXIS, SO THAT *
170 REM * THE SUM OF SQUARES OF ERROR CAUSED BY DESCENDING THE DIMENSION OF *
180 REM * THE SAMPLE SET WILL BE LEAST. *
190 REM * *
200 REM * 2. MAIN IDENTIFIEN DECLARATIONS : *
210 REM * *
220 REM * M -- NUMBER OF VARIABLES. *
230 REM * N -- NUMBER OF SAMPLES. *
240 REM * P -- NUMBER OF PRIMARY COMPONENTS. *
250 REM * XN(N,M) -- ORIGINAL DATA OF OBSERVATION SAMPLES. *
260 REM * XP(N,P) -- PRIMARY COMPONENTS OF OBSERVATION SAMPLES. *
270 REM * *
280 REM * 3. THE METHOD SUPPLYING PARAMETERS : *
290 REM * *
300 REM * PLEASE ENTER FOLLOWING PARAMETERS ON THE SCREEN ACCORDING TO THE*
310 REM * PROMPT WHEN YOU ARE RUNNING THIS PROGRAM: *
320 REM * NUMBER OF SAMPLES N , NUMBER OF VARIABLES M. *
330 REM * *
340 REM * 4. THE ARRANGEMENT OF ORIGINAL DATA : *
350 REM * *
360 REM * THE ORIGINAL DATA ARE PLACED IN THE DATA STALEMENTS AT THE END *
370 REM * OF THE PROGRAM. THEIR ARRANGEMENT ORDER IS AS FOLLOWS: *
380 REM * X11, X12, ..., X1M *
390 REM * X21, X22, ..., X2M *
400 REM * .................. *
410 REM * XN1, XN2, ..., XNM *
420 REM * *
430 REM * 5. MAIN COMPUTATION RESULTS : *
440 REM * *
450 REM * NUMBER OF SAMPLES , N. *
460 REM * NUMBER OF VARIABLES , M. *
470 REM * NUMBER OF PRIMARY COMPONENTS , P. *
480 REM * VALUES OF P PRIMARY COMPONENTS , XP(N,P). *
490 REM * *
500 REM * 6. NOTE : *
510 REM * *
520 REM * THIS PROGRAM COMPUTES THE EIGENNNVALUES AND EIGENVECTORS OF *
530 REM * MATRIX BY THE METHOD OF JACOBI. *
540 REM **********************************************************************
550 WIDTH "LPT1: ",132
560 DEFDBL A-H,M-P,R-Z
570 DIM YY(200,15),T(15)
580 CLS :BEEP :KEY OFF:PRINT :PRINT :PRINT :PRINT
590 PRINT TAB(20);"PLEASE ENTRY PARAMETER :" :PRINT
600 PRINT TAB(19);"SAMPLE PARAMETER N = # # # " :PRINT
610 PRINT TAB(17);"VARIABLE PARAMETER P = # # # "
620 FOR II=7 TO 9 STEP 2 :B$=""
625 LOCATE II,40 : PRINT "_"
630 FOR JJ=40 TO 44 STEP 2
640 A$=INKEY$ :IF A$="" THEN 640
645 IF A$=CHR$(13) THEN 670
650 B$=B$+A$ :LOCATE II,JJ:PRINT A$
660 NEXT JJ
670 IF II=7 THEN N=VAL(B$) ELSE P=VAL(B$)
680 NEXT II
690 IF N=0 OR P=0 THEN 580
700 DIM X(N,P),C(P,P),S(P,P),XK(P),DK(P)
710 DIM H(P),LH(P),LH1(P),A(P,P)
720 LPRINT TAB(40);"***** PRIMARY COMPONENT ANALYSIS RESULT *****"
730 LPRINT
740 LPRINT TAB(40);"SAMPLE NUMBER N=";N;
750 LPRINT TAB(70);"VARIABLE NUMBER P=";P
760 LPRINT
770 FOR I=1 TO N
780 FOR J=1 TO P
790 READ X(I,J)
800 NEXT J
810 NEXT I
820 FOR J=1 TO P
830 XK(J)=0
840 DK(J)=0
850 FOR I=1 TO N
860 XK(J)=XK(J)+X(I,J)
870 NEXT I
880 XK(J)=XK(J)/N
890 FOR I=1 TO N
900 DK(J)=DK(J)+(X(I,J)-XK(J))^2
910 NEXT I
920 DK(J)=SQR(DK(J)/(N-1))
930 FOR I=1 TO N
940 X(I,J)=(X(I,J)-XK(J))/DK(J)
950 NEXT I
960 NEXT J
970 REM *********************************************************************
980 REM * PCA ------ PRIMARY CONPONENT ANALYSIS *
990 REM *********************************************************************
1000 LPRINT
1010 LPRINT TAB(20);"***** CORRELATION COEFFICIENT MATRIX *****"
1020 LPRINT
1030 FOR I=1 TO P
1040 FOR J=1 TO P
1050 IF J>=I THEN 1060 ELSE 1120
1060 C(I,J)=0
1070 FOR K=1 TO N
1080 C(I,J)=C(I,J)+X(K,I)*X(K,J)
模糊ISODATA聚类分析程序(BASIC语言)
5: Rem FUZZY ISODATA CLUSTER ANALYZING METHOD PROGRAM
10: Print "INPUT N,M,C"
15:INPUT"N="; N,"M="; M,"C="; C
20: Dim X(N, M), V(C, M), R(C, N), D(N, C), g(C, N), w(M), z(C)
25: Print "INPUT MATRIX X"
30: For I = 1 To N
35: For J = 1 To M
40: Print "X("; I; ","; J; ")"
45:INPUT X(I,J)
50: Next J
55: Next I
60: Print "INPUT 0RIGINAL MATRIX R"
65: For I = 1 To C
70: For J = 1 To N
75: Print "R("; I; ","; J; ")"
80:INPUT R(I,J)
85: Next J
90: Next I
95: Print "INPUT E"
100:INPUT"E=";E
105: Print "INPUT P ARAMETER Q"
110:INPUT"Q=";Q
115: Print "INPUT D ISTANCE TYPE D"
120:INPUT"D=";D
121: If D <> 4 Then GoTo 125
122: Print "INPUT P"
/////那些行号是什么意思啊?什么990。940的是什么意思啊,是标志符号么?
搞的象汇编似的。
/// 代码有于内容太长了,没有贴完。。
12 个解决方案
#1
具体代码可以见这里:)
http://www.lbschina.com.cn/forum/UpLoadFile/20041081084290267.txt
http://www.lbschina.com.cn/forum/UpLoadFile/20041081084290267.txt
#2
要转到VB,首先把行号去掉(就是每一行前面的数字),然后把GOTO语句修改一下,最好改成循环、自定义函数、自定义过程等等,INPUT语句改成 inputbox 对话框内容,对话框标题。窗体的autoredraw属性设为TRUE,应该可以了。
#3
up
#4
INPUT"N="; N,"M="; M,"C="; C
像这样的代码可以专门为他们设计一个输入数据用的对话框!
此外,print:这样的代码也可以忽略掉!
其实,你只要将算法的核心代码转换成vb的就行了,关于数据的输入与输出的问题,你可以自己来编写相应的界面!
像这样的代码可以专门为他们设计一个输入数据用的对话框!
此外,print:这样的代码也可以忽略掉!
其实,你只要将算法的核心代码转换成vb的就行了,关于数据的输入与输出的问题,你可以自己来编写相应的界面!
#5
up..楼上的几位大哥都说的对。
#6
对。
basic很多语法在vb中都没有见过哎,
看来得去下basic的教程看看了,倚~~~~~~~~~~~~~~~```
大哥们能说说应该注意点什么啊?就修改basic代码的时候,
basic很多语法在vb中都没有见过哎,
看来得去下basic的教程看看了,倚~~~~~~~~~~~~~~~```
大哥们能说说应该注意点什么啊?就修改basic代码的时候,
#7
QB是结构化的语言,VB是面向对象的语言,虽然语法、函数等都差不多,但是它们的执行方式不同,编写代码时也不同,你需要了解它们的共同点和不同点才能将QB转为VB。
#8
楼上说的都很有道理
DOS下就是goto多,windows下基本绝迹了
DOS下就是goto多,windows下基本绝迹了
#9
兄弟好好的看看书吧
basic和VB还是很不一样的
其中的语法不尽相同的
大家一起努力吧
basic和VB还是很不一样的
其中的语法不尽相同的
大家一起努力吧
#10
Basic和VB:
概念也不一样,机制也不一样,编程方法也不一样
我看基本一样的也只有语法了。当然,语句是大大地不一样……
概念也不一样,机制也不一样,编程方法也不一样
我看基本一样的也只有语法了。当然,语句是大大地不一样……
#11
应该不难。
主要是把输入输出部分改了就行。
好多函数都是可以通用的。
比如chr(13)和chr$(13)在VB里好像都可以正常执行。功能是一样的。
主要是把输入输出部分改了就行。
好多函数都是可以通用的。
比如chr(13)和chr$(13)在VB里好像都可以正常执行。功能是一样的。
#12
如查你很急的话,我可以帮你改一部分。
#1
具体代码可以见这里:)
http://www.lbschina.com.cn/forum/UpLoadFile/20041081084290267.txt
http://www.lbschina.com.cn/forum/UpLoadFile/20041081084290267.txt
#2
要转到VB,首先把行号去掉(就是每一行前面的数字),然后把GOTO语句修改一下,最好改成循环、自定义函数、自定义过程等等,INPUT语句改成 inputbox 对话框内容,对话框标题。窗体的autoredraw属性设为TRUE,应该可以了。
#3
up
#4
INPUT"N="; N,"M="; M,"C="; C
像这样的代码可以专门为他们设计一个输入数据用的对话框!
此外,print:这样的代码也可以忽略掉!
其实,你只要将算法的核心代码转换成vb的就行了,关于数据的输入与输出的问题,你可以自己来编写相应的界面!
像这样的代码可以专门为他们设计一个输入数据用的对话框!
此外,print:这样的代码也可以忽略掉!
其实,你只要将算法的核心代码转换成vb的就行了,关于数据的输入与输出的问题,你可以自己来编写相应的界面!
#5
up..楼上的几位大哥都说的对。
#6
对。
basic很多语法在vb中都没有见过哎,
看来得去下basic的教程看看了,倚~~~~~~~~~~~~~~~```
大哥们能说说应该注意点什么啊?就修改basic代码的时候,
basic很多语法在vb中都没有见过哎,
看来得去下basic的教程看看了,倚~~~~~~~~~~~~~~~```
大哥们能说说应该注意点什么啊?就修改basic代码的时候,
#7
QB是结构化的语言,VB是面向对象的语言,虽然语法、函数等都差不多,但是它们的执行方式不同,编写代码时也不同,你需要了解它们的共同点和不同点才能将QB转为VB。
#8
楼上说的都很有道理
DOS下就是goto多,windows下基本绝迹了
DOS下就是goto多,windows下基本绝迹了
#9
兄弟好好的看看书吧
basic和VB还是很不一样的
其中的语法不尽相同的
大家一起努力吧
basic和VB还是很不一样的
其中的语法不尽相同的
大家一起努力吧
#10
Basic和VB:
概念也不一样,机制也不一样,编程方法也不一样
我看基本一样的也只有语法了。当然,语句是大大地不一样……
概念也不一样,机制也不一样,编程方法也不一样
我看基本一样的也只有语法了。当然,语句是大大地不一样……
#11
应该不难。
主要是把输入输出部分改了就行。
好多函数都是可以通用的。
比如chr(13)和chr$(13)在VB里好像都可以正常执行。功能是一样的。
主要是把输入输出部分改了就行。
好多函数都是可以通用的。
比如chr(13)和chr$(13)在VB里好像都可以正常执行。功能是一样的。
#12
如查你很急的话,我可以帮你改一部分。