首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用elisp表示的复数/虚数?

用elisp表示的复数/虚数?
EN

Stack Overflow用户
提问于 2015-02-20 13:10:34
回答 3查看 370关注 0票数 2

elisp支持虚数是有可能的吗?我试图跟随一个在线数学课程与lisp互动模式缓冲区运行。Emacs elisp是否有“高等数学”模块/库?

EN

回答 3

Stack Overflow用户

发布于 2015-02-23 01:09:37

我刚刚找到了一个调用Calc的很好的例子:掌握Emacs;与Emacs Calc的乐趣,它讨论了如何将calc嵌入到elisp代码中,并使用calc-eval函数:

代码语言:javascript
复制
ELISP> (calc-eval "1+2")
"3"

它给出了一个在elisp代码中调用Calc的实例。

票数 0
EN

Stack Overflow用户

发布于 2019-08-31 07:07:45

不可否认的是,emacs没有本地复数。它仅如手动在这里输入链接描述中所描述的那样

代码语言:javascript
复制
Integer Basics: Representation and range of integers.
Float Basics: Representation and range of floating point. 

另外,不能重叠基本的数学函数来使用另一种类型的数字,请参阅这一讨论

不幸的是,您实际上无法向指定了字节码操作码的函数提供建议。这包括*和大多数其他的数学运算符。您的建议不会触发任何已经字节编译的函数。几年前,这让我大吃一惊:Emacs的极限

所以要加上这个可怕的东西并不容易,幸运使者lisp是lisp的后裔,所以你可以有很多其他的解决方案。

有一个套餐,您可以使用复数:

"cplx“包将复数表示为一对浮点数在反单元格中。

此外,还添加了数字交互的基本操作wirh emacs lisp数。

此外,正如@phils答案中指出的那样,emacs内部存在calc,它被描述为和avanced计算器,以HP-S28为基础,它也是一个用Elisp编写的代数系统,您可以方便地扩展,并支持所有类型的数字,您可以使用calc或在emacs lisp程序中使用它。

作为字符串的表达式:

代码语言:javascript
复制
ELISP> (calc-eval "1 + 2i + 3")
"2 i + 4"

ELISP> (calc-eval "1 + 2i * 3")
"6 i + 1" 

或直接使用数据类型。

代码语言:javascript
复制
ELISP> (calcFunc-add 3 '(float 5 0) '(cplx 4 5))
(cplx
 (float 12 0)
 5)

请仔细阅读emacs calc手册,并查看一些关于这个主题的博客,比如这一个

票数 0
EN

Stack Overflow用户

发布于 2021-07-05 19:05:14

除了calc之外,还有一个延迟的答复,但是,除了calc之外,还有面向数学的支持,可以在以下文件中找到:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28629797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档