极坐标距离公式如下:
http://math.ucsd.edu/~wgarner/math4c/derivations/distance/distancepolar.htm
我试过这样做:

(defun distant-formula (r1 r2 t1 t2)
(setq d ( sqrt (*(-(+ (expt r1 2)(expt r2 2))(* 2 r1 r2))
                (cos(- t1 t2))))))

但是减法和乘法之间的额外括号改变了公式,但是如果没有正确的方法,我不太确定该怎么做,任何帮助都是值得赞赏的。

最佳答案

代码中的变量d毫无用处。不应将值赋给未定义的变量Lisp还返回计算值这使得这样的任务特别无用。
你可以这样写公式:

(defun distant-formula (r1 r2 t1 t2)
  (+ (expt r1 2)
     (expt r2 2)
     (* -2 r1 r2 (cos (- t1 t2)))))

请注意,代码的三行布局比只使用一行更容易理解公式使用编辑器的自动缩进来帮助布局。

关于lisp - 对于Lisp程序,需要帮助将径向距离转换为反向抛光符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5055717/

10-09 15:51