明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1365|回复: 1

各位高手帮个忙,急用

[复制链接]
发表于 2004-5-30 16:57:00 | 显示全部楼层 |阅读模式
各位高手,我最近学习autolisp,编了一个程序作为毕业设计用。但是运行时,出现invalid argument 错误信息,这是一个大程序中的一个子程序,目的是求出其中的一点,然后转道cy7继续执行,其中一种情况涉及到解方程(已知解肯定在这两点之间),是我自己编的,按照0.618卓见逼近。麻烦各位高手给看看。 y7,y6,x7,x6,low_x11,low_x22都有前面的程序求出来了 (defun cy6 (/ d1 d2 d0 h_x hx1 hx2 hx3 dd1 dd3)
(setq d0 (/ (- y7 y6) (- x7 x6)))
(if (< x6 low_x11)
(setq x6 low_x11)
)
(if (> x7 low_x22)
(setq x7 low_x22)
) ; end if

(setq d1 (- (exp (- x6 low_x)) (exp (- low_x x6))))
(setq d2 (- (exp (- x7 low_x)) (exp (- low_x x7))))
(setq d1 (/ d1 2))
(setq d2 (/ d2 2))
(cond
((<= d2 d0)
(setq h_x x7)
(cy7)
)
((>= d1 d0)
(setq h_x x6)
(cy7)
)
((and (< d1 d0) (> d2 d0))
(setq hx1 x6)
(setq hx2 x7)
(setq dd1 d1)
;;;
(while (> (abs (- dd1 d0)) 1.0e-10)
(setq hx3 (+ hx1 (* 0.618 (- hx2 hx1))))
(setq dd3 (- (exp (- hx3 low_x)) (exp (- low_x hx3))))
(setq dd3 (/ dd3 2))
(if (> dd3 d0)
(setq hx2 hx3)
(progn
(setq hx1 hx3)
(setq dd1 dd3)
) ;end progn
) ;end if
) ;end while
(setq h_x hx1)
(cy7)
)
)
) ;end cy6
发表于 2004-5-30 17:27:00 | 显示全部楼层
这样的程序无法调试,由受其它程序影响,,,要看出问题来,很困难
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 08:21 , Processed in 0.169708 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表