https://github.com/asukaminato0721/effective-mathematica
一本想要致敬 Effective Python 与 Effective C++ 的书
https://github.com/asukaminato0721/effective-mathematica
Last synced: 3 months ago
JSON representation
一本想要致敬 Effective Python 与 Effective C++ 的书
- Host: GitHub
- URL: https://github.com/asukaminato0721/effective-mathematica
- Owner: asukaminato0721
- Created: 2020-05-26T18:03:49.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-13T14:23:23.000Z (over 2 years ago)
- Last Synced: 2025-04-02T12:53:30.136Z (3 months ago)
- Language: Mathematica
- Size: 1.66 MB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Effective-Mathematica
[](https://wolfr.am/O59MI2k6)
一本想要致敬 Effective Python 与 Effective C++ 的小书
---
Mathematica 是一门非常灵活的语言,但是初学者经常会走弯路。总结一些经验。
这里的 Effective 有多重含义
1. 运行效率
2. 写代码效率
3. 查问题效率......
---
随时欢迎 issue / PR,也欢迎提出自己的意见
> 感觉目录应该排得有逻辑些,目前是 计算/代码风格/前端 顺序混杂。
## 目录
> 有些文档来自 Mathematica 吧主 [@xzcyr](https://tieba.baidu.com/home/main?un=xzcyr&fr=pb&ie=utf-8&id=tb.1.97f870a7.VX3kQRtEwUdCtKkQtAWhQg) 的有道云笔记,假如链接失效了,[备份](./youdao) 里有。
0. 前言
1. [学会使用 `F1`](https://note.youdao.com/ynoteshare1/index.html?id=abd51087f44c0b6a41ff6022d549dc41&type=note)
1. 介绍一些学习 Mathematica 的站点
1. [常见的坑](https://mathematica.stackexchange.com/questions/18393/what-are-the-most-common-pitfalls-awaiting-new-users)(感谢[wjx](https://www.zhihu.com/people/wjxway) 提供的链接)]
2. [少用 `For`, 多用 `Nest(List)`, `Fold(List)`, `Do`,`Table`](https://note.youdao.com/ynoteshare1/index.html?id=7334ad886b97de3565d59beea50b5350&type=note)
3. 列表不宜嵌套过深
4. [用数值计算可以加速](https://blog.wolfram.com/2011/12/07/10-tips-for-writing-fast-mathematica-code/)
> 这是[翻译链接](https://www.cnblogs.com/mymma/archive/2012/08/27/2659007.html), 这是 [贴吧帖子](https://tieba.baidu.com/p/2186436530)
5. [模式匹配是双刃剑](https://blog.wolfram.com/2011/12/07/10-tips-for-writing-fast-mathematica-code/)
6. 用数学的思维解决问题
7. 用 `//` `/*` `@*` 等函数解决嵌套问题
8. 尽量列表整体运算
9. [避免使用下标](https://note.youdao.com/ynoteshare1/index.html?id=dd90460ca2083dffb8c19078e900a815&type=note)
10. [中途计算避免使用 `MatrixForm`](https://note.youdao.com/ynoteshare1/index.html?id=d0a57819857f2771ca669eb54819e3d1&type=note)
11. 利用 Notebook 快速整理代码
12. 利用好 Notebook 的 2D 编辑能力
13. 如何评估程序的性能
14. 认识 Undocumented Function
15. 动态演示时如何控制图形
16. [学会使用 `Compile`](https://note.youdao.com/ynoteshare1/index.html?id=bf2a031f7d0d69064941032c7857dfd1&type=note)
> 文章里提到的 草红样 的 [MathematicaStackExchange 账号](https://mathematica.stackexchange.com/users/2090/chyanog)
17.
18. [如何写出易读的代码](https://www.zhihu.com/question/27880839/answer/144817821)To be Continued......
---
本书遵循 CC4.0 协议.