zctao1966 发表于 2008-11-5 23:31:00

<p>高手华山论剑,</p><p>不懂!!</p><p>这么多高手,还是值得一顶!!</p>

Jeff101217 发表于 2008-11-7 08:53:00

<p>记号 留作以后学习,</p><p></p>

tcdjzyx 发表于 2008-12-17 21:32:00

<p>各位大侠: 我用获取CPUID的函数在我办公室和自己的电脑上测试了一下,不过它们是完全一样的,是函数有问题还是我的CPU有问题?不是说所有的CPU的ID都不一样么?</p>

feifeima2008 发表于 2010-7-14 18:30:00

<p>shit</p>

tdwtdw 发表于 2010-8-29 17:40:00

学习中

chlh_jd 发表于 2010-9-5 14:18:00

的确很精彩,借楼主宝地,提个问题,VLISP怎么实现调用MATLAB
以下是几个简单的调用调试:

;;;调用MATLAB.APP
(defun ss-create-matlab-object ()
(vl-load-com)
(if (or (null ss_mat_obj) (= ss_mat_obj :vlax-false))
    (setq ss_mat_obj (vlax-get-or-create-object "matlab.application"))
    )
)
;;;卸载
(defun ss-release-matlab-object()
(if (= ss_mat_obj :vlax-true)
(progn
    (vlax-release-object ss_mat_obj)
    (setq ss_mat_obj nil)
    )
    )
)
;(setq ss_mat_obj (vlax-get-or-create-object (findfile "c:\\matlab701\\toolbox\\modelsim\\win32\\matlablink.dll")))
;;;ss-matlab-execute
;;;功能:调用MATLAB EXECUTE功能
;;;str1 Malab中的参数执行语句,一般为参数式函数
;;;str2 Malab中的显示执行语句,语句含义参考Matlab,如上述例题中保存在C盘的test.jpg
;;;Uility 显示完后是否关闭,
;;;Written By GSLS(SS) 2010-07-25 4:45
(defun ss-matlab-execute(str1 str2 uility /)   
(vlax-invoke-method ss_mat_obj 'MinimizeCommandWindow)
(vlax-invoke-method ss_mat_obj 'Execute str1)
(vlax-invoke-method ss_mat_obj 'Execute str2)
)
;;;显示正弦曲线
(defun c:t1 (/ str str1)
(setq str"t=1:0.1:2*pi;y=sin(t);plot(t,y)"
str1 "print( gcf, '-djpeg', 'c:\foo')"
)
(ss-create-matlab-object)
(ss-matlab-execute str str1 nil)
(gc)
(princ)
)
;;;显示3维扇形图
(defun c:t2 (/str str1)
(setq str"sale=;pie3(sale,,{'春季','夏季','秋季','冬季'})"
str1 "print( gcf, '-djpeg', 'c:\foo')"
)
(ss-create-matlab-object)
(ss-matlab-execute str str1 T)
(gc)
(princ)
)
;;;显示三维螺旋线图
(defun c:t3 (/str str1)
(setq str"t=0:0.1:8*pi;plot3(sin(t),cos(t),t)"
str1 "print( gcf, '-djpeg', 'c:\foo')"
)
(ss-create-matlab-object)
(ss-matlab-execute str str1 T)
(gc)
(princ)
)
;;;显示立体球图
(defun c:t4 (/str str1 uility)
(setq str(strcat "k = 5;n = 2^k-1; = sphere(n);c = hadamard(2^k);surf(x,y,z,c);" "colormap ();axis equal")
str1 "print( gcf, '-djpeg', 'c:\foo')"
)
(setq uility T)
(ss-create-matlab-object)
(ss-matlab-execute str str1 uility)
(gc)
(princ)
)
;;;显示立体波浪图
(defun c:t5 (/str str1 uility)
(setq str" = peaks(30);surfc(X,Y,Z);colormap hsv;axis ([-3 3 -3 3 -10 5])"
str1 "print( gcf, '-djpeg', 'c:\t4')"
)
(setq uility T)
(ss-create-matlab-object)
(ss-matlab-execute str str1 uility)
(if uility (princ)
    (gc)
    )
(princ)
)

chlh_jd 发表于 2010-9-5 14:22:00

问题来了,假设要调用MATLAB的矩阵求逆函数inv,那数组如何传递和接收呢;想了很久,没有解决

;;;考虑vba方法接收传递,未解决
;;;尝试获取MATLAB矩阵数据
(defun ss-matlab-GetFullMatrix(MatrixName/ dims Mreal Mimag Mrl Mil)
(vlax-invoke-method ss_mat_obj 'GetFullMatrix MatrixName Mreal Mimag)
(setq Mrl (vlax-safearray->list (vlax-variant-value Mreal))
Mil(vlax-safearray->list (vlax-variant-value Mimag)))
Mrl
)
;;;尝试发送Matlab矩阵数据
(defun ss-matlab-PutFullMatrix(MatrixName Matrix)
(setq dims (length (car Matrix)))
(setq Mreal (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble(cons 1 dims) (cons 1 dims)) Matrix)
Mimag (vlax-make-safearray vlax-vbDouble (cons 1 dims) (cons 1 dims)))
(vlax-invoke-method ss_mat_obj 'PutFullMatrix MatrixName "Base" Mreal Mimag)
)

santalin 发表于 2010-10-6 15:20:00

为什么不直接用VB写成dll?

lt0314 发表于 2011-3-9 15:42:17

学习!

1681008 发表于 2011-3-20 11:30:22

看看
谢谢分享
页: 1 2 3 4 5 [6] 7 8
查看完整版本: [原创] !将vbscript移植到lisp!