乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 63|回复: 3

[求助]如何用这个复杂函数画图像???

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2004-8-13 01:45:00 | 显示全部楼层 |阅读模式

3gsep54drrc.JPG

3gsep54drrc.JPG


要求用此公式绘制一条曲线。
其中:
C=1/R
当输入一下数值(参数)时,能自动绘图。
R=
K=
A2=
A4=
A6=
A8=
A10=
例如:
R=17.26
K=-1
A2=0.00092
A4=0.00001238
A6=0
A8=0
A10=0
回复

使用道具 举报

11

主题

54

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
98
发表于 2004-8-13 09:41:00 | 显示全部楼层
用eval这个函数应该可以实现。
回复

使用道具 举报

8

主题

3171

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3203
发表于 2004-8-13 10:12:00 | 显示全部楼层
程序如下:
(DEFUN C:CURVE ()
(SETQ R (GETREAL "\nR = ")
                                         K (+ (GETREAL "\nK = ") 1)
                                         A2 (GETREAL "\nA2 = ")
                                         A4 (GETREAL "\nA4 = ")
                                         A6 (GETREAL "\nA6 = ")
                                         A8 (GETREAL "\nA8 = ")
                                         A10 (GETREAL "\nA10 = ")
                                         C (/ 1 R)
                                         STEP (GETREAL "\nCurve Precision is 曲线精度(步长) : ")
                                         N (GETINT "\nPoint of Curve 曲线点数 :"))
(IF (> STEP 0) (PROGN
        (SETQ Y 0)
        (COMMAND "PLINE" "0,0")
        (REPEAT N
         (SETQ Y (+ Y STEP))
         (SETQ Y2 (* Y Y) Y4 (* Y2 Y2) Y6 (* Y2 Y2 Y2) Y8 (* Y4 Y4) Y10 (* Y4 Y4 Y2))
         (SETQ X (/ (* C Y2) (+ (SQRT (- 1 (* K C C Y2))) 1)))
         (IF (/= A2 0) (SETQ X (+ X (* A2 Y2))))
         (IF (/= A4 0) (SETQ X (+ X (* A4 Y4))))
         (IF (/= A6 0) (SETQ X (+ X (* A6 Y6))))
         (IF (/= A8 0) (SETQ X (+ X (* A8 Y8))))
         (IF (/= A10 0) (SETQ X (+ X (* A10 Y10))))
         (COMMAND (LIST X Y))
        )
        (COMMAND "")
))
(PRINC)
)
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2004-8-13 15:58:00 | 显示全部楼层
实在是太谢谢“ZZXXQQ”兄弟的程序了!
不过,还有一点点的问题,就是,画出的图怎么只用上部分(Y>0)的曲线,能不能把下部(Y STEP 0) (PROGN
        (SETQ Y2 (* Y Y) Y4 (* Y2 Y2) Y6 (* Y2 Y2 Y2) Y8 (* Y4 Y4) Y10 (* Y4 Y4 Y2))
        (SETQ X (/ (* C Y2) (+ (SQRT (- 1 (* K C C Y2))) 1)))
        (IF (/= A2 0) (SETQ X (+ X (* A2 Y2))))
        (IF (/= A4 0) (SETQ X (+ X (* A4 Y4))))
        (IF (/= A6 0) (SETQ X (+ X (* A6 Y6))))
        (IF (/= A8 0) (SETQ X (+ X (* A8 Y8))))
        (IF (/= A10 0) (SETQ X (+ X (* A10 Y10))))
        (COMMAND "PLINE" (LIST X Y))
        (REPEAT N
         (SETQ Y (+ Y STEP))
         (SETQ Y2 (* Y Y) Y4 (* Y2 Y2) Y6 (* Y2 Y2 Y2) Y8 (* Y4 Y4) Y10 (* Y4 Y4 Y2))
         (SETQ X (/ (* C Y2) (+ (SQRT (- 1 (* K C C Y2))) 1)))
         (IF (/= A2 0) (SETQ X (+ X (* A2 Y2))))
         (IF (/= A4 0) (SETQ X (+ X (* A4 Y4))))
         (IF (/= A6 0) (SETQ X (+ X (* A6 Y6))))
         (IF (/= A8 0) (SETQ X (+ X (* A8 Y8))))
         (IF (/= A10 0) (SETQ X (+ X (* A10 Y10))))
         (COMMAND (LIST X Y))
        )
        (COMMAND "")
))
(PRINC)
)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-24 15:51 , Processed in 1.642911 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表