CAD中数据统计方法Word格式.docx
《CAD中数据统计方法Word格式.docx》由会员分享,可在线阅读,更多相关《CAD中数据统计方法Word格式.docx(6页珍藏版)》请在冰豆网上搜索。
..命令为对所选文字同时加减乘除某个数。
4、统计的命令为TJ。
其速度是很快的,我曾对十万级的数字验证,求结果既快又准。
版本。
原程序:
;
;
说明(alert"
提醒:
\n请首先设置好输精度<
小数点位数>
在绘图勺过程中可随时用命令JD设置精度。
\n命令\"
+-*/\"
分别代表对所选择勺数字求和差积
商。
数和被除数。
相同(除角度外)。
"
定义了一个全局变量为精度
(defunC:
JD(/)
(initget4)
(if(setqPRECISION(getint))
(princ)
(setqPRECISION(getvar"
LUPREC"
))
(C:
JD);
加(defunC:
+(/keyselinsfirstnumlstresult)
(while(common1)
(setqresult(apply'
+(cadrnumlst)))
(common2)
减(defunC:
-(/keyselinsfirstnumlstresult)
-(cadrnumlst)))
乘
(defunC:
*(/keyselinsfirstnumlstresult)
*(cadrnumlst)))
除(defunC:
/(/keyselinsfirstnumlstresult)
/(cadrnumlst)))
所有数字都加减乘除某个数(defunC:
..(/keyopselinsfirstnumlstresult)
(while(setqsel(ssget'
((0."
TEXT"
))))
(setqfirst(ssnamesel0))
(setqNumlst(sel->
listsel))
(initget1"
+-*/"
(setqkey(getkword"
\n请输入加减乘除符号<
+-*/>
:
请输入操作数<默认为
(initget2)
(if(null(setqop(getreal"
\n1>
)))
(all-calnumlstkeyop)
(defunall-cal(resultsymop/lstoldnew)
(foreachn(carnumlst)
(setqlst(entgetn))
(setqold(atof(cdr(assoc1lst))))
(setqnew(eval(cons(readsym)(listoldop))))
(setqnew(cons1(rtosnew(getvar"
LUNITS"
)
PRECISION)))
(setqlst(substnew(assoc1lst)lst))
(entmodlst)
选择和插入点(defuncommon1()
(and
(setqsel(ssget'
(null(initget0"
YesNo"
认不保留>
(setqkey"
Yes"
No"
做文字或者更新文字(defuncommon2()
(setqresult(rtosresult(getvar"
PRECISION))
(if(=key"
请输入插入点:
(if(setqins(getpoint"
\n
(make-textfirstresultins)
(update-textfirstresult)
选择集合转化成数字列表(defunsel->
list(sel/ientlstnumElsnls)
(setqi0)
(repeat(sslengthsel)
(setqent(ssnameseli))
(setqlst(entgetent))
(setqnum(atof(cdr(assoc1lst))))
(setqEls(consentEls))
(setqNls(consnumNls))
(setqi(1+i))
(list
(reverseEls)
(reverseNls)
创建新文字,在指定点插入(defunmake-text(firststringinspt/removetxtlstlst)
(setqremove(list-133051101150))
(setqtxtlst(entgetfirst))
(foreachntxtlst
(if(not(member(carn)remove))
(setqlst(consnlst))
(setqlst(cons(cons1string)lst))
(setqlst(cons(cons10inspt)lst))
(setqlst(cons(cons11inspt)lst))
(setqlst(reverselst))
(cdr(assoc40(entmakelst)))
保留文字,仅更新内容(defunupdate-text(entstring/txtlst)
(setqtxtlst(entgetent))
(setqtxtlst(subst(cons1string)(assoc1txtlst)txtlst))
(entmodtxtlst)
统计数字文本
lenang
tj(/unselinstollstnumlstfirstdata
HIGjnm)
(setqun(getvar"
(while(and(setqsel(ssget'
(setqtollst(sel->
(setqnumlst(cadrtollst))
(setqfirst(caartollst))
(setqdata(STATnumlst))
(setqlen(strcat(caardata)(itoa(cdardata))))
(setqj1)
(repeat4
(setqn(nthjdata))
(setqm(strcat(carn)(rtos(cdrn)unPRECISION)))
(make-textfirstm(polarinsang(*jHIG)))
(setqj(1+j))
统计函数(defunSTAT(numlst/lensumavevarsqrstd)
(setqlen(lengthnumlst))本数目
(setqsum(apply'
+numlst))
(setqave(/sumlen))
(setqvar(mapcar'
(lambda(x)(*(-xave)(-xave)))numlst))
平方
(setqsqr(/(apply'
+var)len))差variance
(setqstd(sqrtsqr))准差
(cons"
样本数..
"
len)
总和
.."
sum)
平均值..
ave)
方差
sqr)
标准差..
std)
复制代码