gc666666 发表于 2020-3-26 08:51:49

纯数学编程,希望大佬指点

原来用的MATLAB编程没问题,现在换lisp,希望大佬指点一下用哪几个函数,程序感觉挺简单,就是不太会,能给说一下吗?
程序一已知:输入长度L,步长S,距左A,距右B未知:X代表间距乘以的最大步数   Y代表调节间距X求解方法:(L-S)/S取商 Y求解方法:L/S取余数,余数加S,最后除以2最后输出:      A+Y+150*X+Y+B
程序二已知:输入长度L,距边A未知:均分长度X,均分长度份数Y,余数ZX求解方法:(L-A*2)/600取商加1Y求解方法:(L-A*2)/X取商Z求解方法:(L-A*2)/X取余数最后输出:         A+X*Y+Z+A

YueFeng 发表于 2020-3-26 08:51:50

(defun test (L S A B)
   (setq X (fix (/ (- L S) S))
         Y (/ (+ (rem L S) S)) 2)
   )
   (+ A Y (* 150 X) Y B)
)

gc666666 发表于 2020-3-26 10:19:09

YueFeng 发表于 2020-3-26 09:23
(defun test (L S A B)
   (setq X (fix (/ (- L S) S))
         Y (/ (+ (rem L S) S)) 2)


多谢,大佬,CAD中输入test无法启动,是输入的不对吗?

gc666666 发表于 2020-3-26 10:24:43

YueFeng 发表于 2020-3-26 08:51
(defun test (L S A B)
   (setq X (fix (/ (- L S) S))
         Y (/ (+ (rem L S) S)) 2)


多谢,有这个思路我自己差不多能搞出来了

YueFeng 发表于 2020-3-26 15:58:00

看下入门的LISP图书或是帮助文件,即可。

gc666666 发表于 2020-3-26 16:26:35

YueFeng 发表于 2020-3-26 15:58
看下入门的LISP图书或是帮助文件,即可。

大哥,这个能不能优化一下,一块打印出来。
(princ A)(princ "+")(princ Y)(princ "+")(princ S) (princ "*")(princ X)(princ "+")(princ Y)(princ "+")(princ B)

YueFeng 发表于 2020-3-26 17:14:04

你想达到什么样的效果。

gc666666 发表于 2020-3-27 06:56:08

YueFeng 发表于 2020-3-26 17:14
你想达到什么样的效果。

能不能一个princ打印出来,这么多princ看着太繁琐

YueFeng 发表于 2020-3-27 20:45:01

gc666666 发表于 2020-3-27 06:56
能不能一个princ打印出来,这么多princ看着太繁琐

看下strcat这个函数

gc666666 发表于 2020-3-28 18:36:52

YueFeng 发表于 2020-3-27 20:45
看下strcat这个函数

好的,谢谢
页: [1] 2
查看完整版本: 纯数学编程,希望大佬指点