prodromosm 发表于 2022-7-6 06:30:10

lisp的litle帮助

我想要一个lisp来计算这种类型
k=ko+0.012311*(x-0.5)^2
ko=0999600
x随时更改
我想在Lisp程序的时候说(选一个点)
例如(x,y)x=376400,00和y=4225498.35(单位为米)
类型中的x必须为376400,00/1000000=0.3764
 
因此k=0.9996+0.012311*(0.3764-0.5)^2=0.999788
 
重要(x/1000000)>0无负数(单位为兆)
 
有人能帮忙吗
 
 
我试试这个(李麦克帮了我很多)
我不懂Lisp程序,这样会犯很多错误,请帮帮我
 

(defun c:k ()

(setq pnt (getpoint "\ncalculate k:"))
(setq pn (list (car pnt) (cadr pnt) 0) )

(setq k   (+ (* 0.012311 (expt (- (/ (abs x) 1e6) 0.5) 2)) 0.9996)))

(setq x ()(car pnt))
(textscr)
   

(princ "\coordinate X: ")(princ (car pnt))

(princ "\the k is: ")(princ (car k))

prodromosm 发表于 2022-7-6 06:37:48

没有人

prodromosm 发表于 2022-7-6 06:46:55

我修好了好的

neophoible 发表于 2022-7-6 06:55:08

这有点不切实际,不是吗?希望在发布后30分钟内获得免费解决方案?尽管修复起来可能很容易,但这并不是我们应该保持的正确前景。

neophoible 发表于 2022-7-6 07:06:17

李直接帮了你吗?
 
您的修复可能包括删除上述粗体红色项目。我会在成品中添加绿色标记的部分。橙色标记的部分在您发布的代码中不起作用。 
很高兴你成功了。如果你能分享你的结果来完成你的帖子,那就太好了。

萬里独行 发表于 2022-7-6 07:10:14

亲爱的大家!
但是,不应该滥用LISP。。。
 
(defun C:CK ( / K PNT)
(setq pnt (getpoint "\nCalculate k:\n"))
;;;(setq pn(list (car pnt) (cadr pnt) 0)) ;;; Set 2D point --> 3D useless!?
(setq k   (+ (* 0.012311 (expt (- (/ (abs (car pnt)) 1e6) 0.5) 2)) 0.9996))
(textscr)
(princ (strcat "\Coordinate X: [" (rtos (car pnt) 2 3) "] / The k is: [" (rtos k 2 3) "]\n"))
(princ))

 
祝你好运,玩得开心!

Lee Mac 发表于 2022-7-6 07:22:33

 
是的,李做了。

neophoible 发表于 2022-7-6 07:28:05

嗯,也许这就是问题所在。你太宠坏他们了,而且我猜你看起来像一个强化的蜘蛛侠披萨送货员,真的可以在30或更少的时间内完成。无论如何,记住

prodromosm 发表于 2022-7-6 07:36:33

谢谢寻求帮助
页: [1]
查看完整版本: lisp的litle帮助