明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3586|回复: 5

在CAD内解方程,一个极为实用的程序

[复制链接]
发表于 2006-9-8 08:22:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2006-9-8 12:04:32 编辑

刚刚学了点LISP 程序,就要卖弄了:

这是一个解方程的LISP程序,很简短。

用法:1解压文件得到solve.lsp程序。

2,在CAD中用AP命令加载此lisp程序。

3,在CAD中输入solve按照提示输入表达式和初始值。(你可以先估计一个解作为初始值)。

4,最后出现的数字为解。

另外注明:

1,方程只接受x为一元变量,多元方程还在研究中。

2,方程接受CAD中认可的表达式,如x^5+x^3-3*sin(x)+1;(如不清楚的请参考CAL命令帮助中的语法和函数)注意了,方程只需写成多项式,无须写成f(x)=0式。

3,方程解题精度可达16位,只是表达实数根。

4,程序并没有检错判断,有可能无解现象出现,或其他错误出现。也没有用到对话框。

我把源代码发布上来,请各位大侠帮忙斧正,如要转载程序到他处,为尊重本人劳动成果见,请注明来源与原作者。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2006-9-8 12:44:00 | 显示全部楼层

这里是源代码:

(defun func (/ dx dy y1 y2 y3 y4)
   (setq y1 (cal p))
   (setq dx 0.00000000000001)
   (setq x (+ x dx))
   (setq y2 (cal p))
   (setq dy (- y2 y1))
   (setq y3 (/ dy dx))
   (setq x (- x dx))
   (setq y4 (- x (/ y1 y3)))
  )
(defun C:solve (/ p x y)
   (arxload "geomcal.arx")
   (setq p (getstring "\n请输入函数表达式: "))
   (setq x (getreal "\n请输入初始值: "))
   (setq y (func))
 (while (> (abs (- y x)) 0.000000000000001)
    (setq x y)
           (setq y (func))
   )
   (rtos y 2 20)
  )

发表于 2006-9-8 12:50:00 | 显示全部楼层

要力争实现解方程和画图的“无缝”连接。

发表于 2006-9-9 08:20:00 | 显示全部楼层
希望能解联立方程式的LISP早日出现,如此几何解题法当会更加为大众接受。
发表于 2006-9-9 19:52:00 | 显示全部楼层
发表于 2006-9-21 16:51:00 | 显示全部楼层
hehe 谢谢了!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 00:53 , Processed in 0.161818 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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