明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: ynhh

[基础] LISP的积分问题

[复制链接]
发表于 2019-7-2 18:05 | 显示全部楼层
cad890 发表于 2019-7-1 18:24
既然你这公式都有推论了,直接利用公式计算就可以了。n取得越大,结果越精确。单次循环累加求和就是了。
...

红色矩形所圈示不就是推论吗?

本帖子中包含更多资源

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

x
 楼主| 发表于 2019-7-2 19:52 | 显示全部楼层
cad890 发表于 2019-7-2 18:05
红色矩形所圈示不就是推论吗?

谢谢您
我太笨了
真不好意思
公式中的符号
i   n 都不知是什么意思
谢谢您了
我再看看
不行就放弃了
不好意思麻烦您们
 楼主| 发表于 2019-7-3 08:37 | 显示全部楼层
cad890 发表于 2019-7-2 18:05
红色矩形所圈示不就是推论吗?

如您方便帮助写出实例
我发了个50明经币悬赏
请您看看
http://bbs.mjtd.com/forum.php?mo ... mp;page=1#pid844524
谢谢
 楼主| 发表于 2019-7-3 08:38 | 显示全部楼层
highflybird 发表于 2019-7-2 12:45
譬如这个求椭圆弧长的例子,就是采用了龙贝格积分。
只要你把积分的函数代入,然后代入下限上限值,就 ...

如高飞大师方便帮助写出实例
我发了个50明经币悬赏
请您看看
http://bbs.mjtd.com/forum.php?mo ... mp;page=1#pid844524
无论如何都向您表示感谢
发表于 2019-7-3 12:55 | 显示全部楼层
本帖最后由 cad890 于 2019-7-3 13:00 编辑
ynhh 发表于 2019-7-3 08:37
如您方便帮助写出实例
我发了个50明经币悬赏
请您看看

利用推论就仅局限于这个例子,不像高大师的,比较通用。
下面就是一个大概步骤,您自己补全即可。当然,要写出完美的程序,还要增加许多限制条件,如hb不能大于b等等情况。
h,B(t),F(t),f(t),xi每一个字符的含义都在图上可以找到 。
∑就是累加的意思,n就是划分的份数,n越大,精度越高。
i就是中间值;积分累加计算这些值
见下: (setq i 1 pi 3.141592653  h (/ (float hb) c) s 0)
(repeat n
(setq wi (/ pi n)
        ai   (* pi (/ (- (* 2 i) 1) (* 2 n)))
         xi  (cos ai)
         B (…)
         F (…)
)
(if (= F 0) (setq F …))
(为了避免程序又臭又长,可以增加中间计算)
(setq f (…))
(setq si (* b c h wi f))
(setq s (+ s si))
(setq i (1+ i))
)




本帖子中包含更多资源

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

x
 楼主| 发表于 2019-7-3 14:14 | 显示全部楼层
cad890 发表于 2019-7-3 12:55
利用推论就仅局限于这个例子,不像高大师的,比较通用。
下面就是一个大概步骤,您自己补全即可。当然, ...

我这怎么研究都不对
(setq a 2.0 b 3.0 c 4.0 hc 3.0);已知
(setq hb (- c hc))
(setq n 100)
(setq i 1  h (/ (float hb) c) s 0)
(repeat n
(setq wi (/ pi n)
        ai   (* pi (/ (- (* 2 i) 1) (* 2 n)))
         xi  (cos ai)
;;;         B (…)
;;;         F (…)
)
(setq B (- 1.0 (* (- 1.0 (/ (* A A) (* B B))) 1.0)))
(setq F (1- (* (* (/ (* A A) (* C C))) (/ 1.0 B)) ))
  
(if (= F 0) F)
;;;(为了避免程序又臭又长,可以增加中间计算)
(setq f (1- (* (* (/ (* A A) (* C C))) (/ 1.0 B)) ))
(setq si (* b c h wi f))
(setq s (+ s si))
(setq i (1+ i))
)
s
谢谢您了
等有热心人在悬赏处做出这个实例来时
我就学习一下
如没有就算了,我这也只是爱好,与任何工作都无关的,不会也不影响什么。
再次感谢您的多次指导。
发表于 2019-7-3 19:42 | 显示全部楼层
本帖最后由 cad890 于 2019-7-3 20:03 编辑
ynhh 发表于 2019-7-3 14:14
我这怎么研究都不对
(setq a 2.0 b 3.0 c 4.0 hc 3.0);已知
(setq hb (- c hc))

你这公式推论好像有错误,按理说F(t)应该不会小于0的,但是计算过程发现F(t)会存在小于0的情况;
如n=100时,xi≈cos(1/200 * pi)≈1,则B(t)≈a^2/b^2, F(t)≈b^2/c^2-1,如果b小于c,会计算出F(t)<0。由于存在F(t)开方,所以下方函数是无法计算下去的。请核实一下公式推论F(t)。
但如果a=b=c,hc=0时,可以计算。即半球面积

注:我中午列的公式是根据图片符号,区分大小写,lisp变量不区分大小写,所以你有很多变量重复了。
  1. (defun c:tt()
  2. (setq a 2.0 b 3.0 c 4.0 hc 3.0);已知
  3. (setq hb (- c hc))
  4. (setq n 100)
  5. (setq i 1  h (/  hb c) s 0)
  6. (repeat n
  7. (setq wi (/ pi n)
  8.         ai   (* pi (/ (- (* 2.0 i) 1) (* 2.0 n)))
  9.          xi  (cos ai)
  10. ;;;         B (…)
  11. ;;;         F (…)
  12. )
  13. (setq Bt (- 1.0 (* (- 1.0 (/ (* a a) (* b b))) xi xi) ))
  14. (setq Ft (- (/ (* a a) (* c c) Bt) 1))
  15.   
  16. (if (= Ft 0) (setq f (* 2 h (/ a c)))
  17. ;;;(为了避免程序又臭又长,可以增加中间计算)
  18. ;;;(setq f (1- (* (* (/ (* A A) (* C C))) (/ 1.0 B)) ))
  19. (progn
  20. (setq sqrtBt (sqrt Bt))
  21. (setq sqrtFh (sqrt (1+ (* Ft h h))))
  22. (setq hsqrtF (* h (sqrt Ft)))
  23. (setq sinh-1 (arcsinh hsqrtF))
  24. (setq f (* sqrtBt (+ sqrtFh (/ sinh-1 hsqrtF )))))
  25.   );end_if
  26. (setq si (* b c h wi f))
  27. (setq s (+ s si))
  28. (setq i (1+ i))
  29. )
  30. s
  31. )
  32. (defun arcsinh(x);sinh-1
  33.   (log (+ x (sqrt (1+ (* x x)))));ln(x + sqrt(x^2 + 1))
  34.   )




 楼主| 发表于 2019-7-3 20:31 | 显示全部楼层
cad890 发表于 2019-7-3 19:42
你这公式推论好像有错误,按理说F(t)应该不会小于0的,但是计算过程发现F(t)会存在小于0的情况;
如n=10 ...

公式是外国网站上介绍的
我还没这能力
可能你引用的公式不对,是另一个
目前你这LISP运行后
错误: 没有为参数定义函数: -0.437673
 楼主| 发表于 2019-7-3 20:32 | 显示全部楼层
你用的图可能不对,你试试这个图中的公式看

应是这个图中的公式


发表于 2019-7-4 18:18 | 显示全部楼层
本帖最后由 cad890 于 2019-7-4 18:21 编辑
ynhh 发表于 2019-7-3 20:32
你用的图可能不对,你试试这个图中的公式看

应是这个图中的公式

应该是图片化简过程出错了,绿色线框处积分化简使用条件为a>0,即F>0;
而F不能保证大于0(如φ=0时,B=1;若a<c,则F<0);看来推论不可用,还是考虑高大师的通用积分程序吧。或者自己化简。




常用积分公式如下:

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 00:30 , Processed in 0.173135 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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