明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 872|回复: 13

[函数] 分享个解二元一次方程组的函数

[复制链接]
发表于 2022-6-2 21:29 | 显示全部楼层 |阅读模式
本帖最后由 guosheyang 于 2022-6-3 08:51 编辑

[hide] 给大家分享个用交点函数求解二元一次方程组的代码,x y取值为无区段限制实数
;用交点法解二元一次方程组 ygs-羊羊羊                              
;函数名 ygs-bi-L-eqgr                                             
;参数 a b c d e f分别为二元一次方程组的系数(ax+by+c=0 ;dx+ey+f=0)
;返回值:如果有解,则返回值 二元一次方程组的解                     
;测试(ygs-bi-L-eqgr 1 -2 -1 -2 3 -3)对应方程组x-2y-1=0 ;-2x+3y-3=0
(defun ygs-bi-L-eqgr (a b c d e f / P1 P2 P3 P4)
(if(and a b c d e f)
    (if(or (and (= a 0) (= b 0)) (and (= d 0) (= e 0)))
       (princ "\n 你输入的系数不是规范的二元一次方程组,请重输系数")
      (progn
        (setq p1 (if (/= b 0)
                   (list 0 (/ (- c) (float b)))
                   (list (/ (- c) (float a)) 10)
                 )
              p2 (if (/= a 0)
                   (list (/ (- c) (float a)) 0)
                   (if (/= b 0)
                     (list 10 (/ (- c) (float b)))
                   )
                 )
              p3 (if (/= e 0)
                   (list 0 (/ (- f) (float e)))
                   (list (/ (- f) (float d)) 10)
                 )
              p4 (if (/= d 0)
                   (list (/ (- f) (float d)) 0)
                   (if (/= e 0)
                     (list 10 (/ (- f) (float e)))
                   )
                 )
        )
        (inters p1 p2 p3 p4 nil)
      )
    )
  )
)

评分

参与人数 4明经币 +4 收起 理由
baitang36 + 1 很给力!
xyp1964 + 1 赞一个!
tigcat + 1 很给力!
shh1980 + 1 谢谢分享!!继续努力,加油!!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-6-3 22:38 | 显示全部楼层
  1. ;; (abc 1 -2 -1 -2 3 -3)
  2. (defun abc(a b c d e f)
  3.   (if(and a b c d e f)
  4.     (if(and(/= a b 0)(/= d e 0))
  5.       (inters
  6.         (if(= b 0)(list(/ c a -1.)1)(list 0(/ c b -1.)))
  7.         (if(= a 0)(if(/= b 0)(list 1(/ c b -1.)))(list(/ c a -1.)0))
  8.         (if(= e 0)(list(/ f d -1.)1)(list 0 (/ f e -1.)))
  9.         (if(= d 0)(if(/= e 0)(list 1(/ f e -1.)))(list(/ f d -1.)0))
  10.         nil
  11.       )
  12.     )
  13.   )
  14. )
 楼主| 发表于 2022-6-7 13:11 | 显示全部楼层
革天明 发表于 2022-6-7 10:35
楼主不必气馁,主要这个个需求太小众了,我以前写的支持2元N次,其实XYZ3元也没问题,只是这样复杂的不会 ...

大神 牛 !  我写这个纯粹还是因为不想用矩阵相关的东西,那些代码太长了 ,这个简洁
发表于 2022-6-7 10:35 | 显示全部楼层

楼主不必气馁,主要这个个需求太小众了,我以前写的支持2元N次,其实XYZ3元也没问题,只是这样复杂的不会在CAD中用,用户直接上三维画图软件了。


本帖子中包含更多资源

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

x
 楼主| 发表于 2022-6-3 08:37 | 显示全部楼层
免费分享代码  竟没有一个人回复支持下      不知道如何设置回复才可见
发表于 2022-6-3 09:23 | 显示全部楼层
感谢分享,不知道什么地方用。
发表于 2022-6-3 09:31 来自手机 | 显示全部楼层
编程源于需求,可能是很少人有这样的需求。喜欢研究算法的纯粹lisper可能没有此看到帖。
发表于 2022-6-3 10:12 来自手机 | 显示全部楼层
东西是好东西,点赞。但是要的人少。
发表于 2022-6-3 11:01 | 显示全部楼层
这个是好代码,不过不知道何时会用到,谢谢黄总分享!
 楼主| 发表于 2022-6-3 19:48 | 显示全部楼层
感谢各位的支持!
 楼主| 发表于 2022-6-4 12:12 | 显示全部楼层

谢谢院长的优化!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 11:51 , Processed in 0.155176 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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