chongkainis 发表于 2015-5-22 12:28:31

数据加权归并分类


想编制一个自动加权归并数据到不同的表中的程序,需要根据需要自动创建新表用于添加数据,就比如当11满足if第一个条件时,归入到表,N_L1中,当不满足条件时则程序自动建立一个新表N_L2(新表由代码(setq N_Lk2 (strcat "N_L" (itoa (+ 1 k))))
创建,以此类推)但是出现一个问题,就是用(setq N_Lk1 (cons Ni N_Lk1))结果却是(10 . “N_L2”),怎样使N_L2不是字符串而还是表的属性呢?


(setq N_list '(10 11 12 21 22 63 66))
(setq zcx_ave 29)
(setq gbxs 0.2)    ;定义归并系数
(setq N_L1 (cons (nth 0 N_list) N_L1))
(setq nn (vl-list-length N_list))
(setq k 1)    ;定义N_Lk角标
(setq i 0)
(repeat nn
(setq N_Lk1 (strcat "N_L" (itoa k))) ;组成N_Li表名
(setq N_Lk2 (strcat "N_L" (itoa (+ 1 k)))) ;组成N_Li+1表名
(setq Ni (nth i N_list))
(zcx_bsj N_list)
(setq Ncz (abs (/ (- Ni zcx_ave) zcx_ave)))
(if (<= Ncz gbxs)   ;当满足此条件时,数据归入表N_Lk1.,否则归入表N_Lk2
    (setq N_Lk1 (cons Ni N_Lk1))
    (progn
      (setq N_Lk2 (cons Ni N_Lk2))
      (setq k (1+ k))
    ) ;_ 结束progn   
) ;_ 结束if   
(setq i (1+ i))
) ;_ 结束repeat   


页: [1]
查看完整版本: 数据加权归并分类