Julia,MATLAB和Python:科学计算的比较语法参考
导言
现代工程和科学计算越来越多地同时使用几种编程语言。 MATLAB在数学建模,Python在数据分析和自动化方面仍然很受欢迎,Julia正在积极开发作为科学计算的高性能语言。
尽管语法存在差异,但这些语言中的大多数基本结构都非常相似:数组,函数,循环,矢量化,图形和数据处理。 因此,在系统之间切换时,首先要理解句法对应关系。
这个例子是"语言中的操作→实现"格式的Julia,MATLAB和Python语法的实际比较。 比较格式不仅可以让您更快地学习新语言,还可以更好地理解科学编程的一般原则。 在许多情况下,只有记录的形式不同,而计算逻辑本身保持不变。
基本语法的比较
|
操作 |
茱莉亚 |
MATLAB |
Python |
|
评论 |
|
|
|
|
多行注释 |
|
|
|
|
指派任务 |
|
|
|
|
动态类型 |
|
|
|
|
类型验证 |
|
|
|
|
一个整数 |
|
|
|
|
浮点数 |
|
|
|
|
一个复数 |
|
|
|
|
无限 |
|
|
|
|
南 |
|
|
|
|
行 |
|
|
|
|
字符串插值 |
|
|
|
|
字符串连接 |
|
|
|
|
重复一行 |
|
|
|
|
创建数组/向量 |
|
|
|
|
矩阵 |
|
|
|
|
索引从 |
|
|
|
|
对元素的访问 |
|
|
|
|
最后一个元素 |
|
|
|
|
阵列的横截面 |
|
|
|
|
逻辑索引 |
|
|
|
|
数组的大小 |
|
|
|
|
数组的长度 |
|
|
|
|
创建空数组 |
|
|
|
|
创建单位矩阵 |
|
|
|
|
范围 |
|
|
|
|
范围步骤 |
|
|
|
|
元素乘法 |
|
|
|
|
矩阵乘法 |
|
|
|
|
零碎程度 |
|
|
|
|
矩阵划分 |
|
|
|
|
换位,换位 |
|
|
|
|
水平连接数组 |
|
|
|
|
垂直连接数组 |
|
|
|
|
If条件 |
|
|
|
|
三元运算符 |
|
|
|
|
For循环 |
|
|
|
|
While循环 |
|
|
|
|
循环中断 |
|
|
|
|
跳过迭代 |
|
|
|
|
功能(简略) |
|
|
|
|
功能(正常) |
|
|
|
|
返回值 |
|
|
|
|
匿名函数 |
|
|
|
|
列表生成器 |
|
|
|
|
字典 |
|
|
|
|
很多 |
|
|
|
|
检查配件 |
|
|
|
|
异常处理 |
|
|
|
|
错误生成 |
|
|
|
|
结构/类别 |
|
|
|
|
抽象类型 |
|
|
|
|
导入模块 |
|
|
|
|
连接文件 |
|
|
|
|
功能的文档 |
|
|
|
|
宏 |
|
失踪 |
失踪 |
|
测量时间 |
|
|
|
|
输出到控制台 |
|
|
|
|
格式化输出 |
|
|
|
|
使用DataFrame |
|
|
|
|
图表 |
|
|
|
|
一个随机数 |
|
|
|
|
分类方法 |
|
|
|
|
地图功能 |
|
|
|
|
过滤 |
|
|
|
|
平等检查 |
|
|
|
|
身份验证 |
|
|
|
|
缺失值 |
|
|
|
|
无/空 |
|
|
|
结论
Julia,MATLAB和Python在现代工程和科学任务中与其说是相互竞争,不如说是相辅相成的。 尽管哲学和语法细节存在差异,但它们之间的大多数计算构造都有直接的类似物。
比较格式有助于更快地学习新工具,在生态系统之间转移算法,并更好地理解科学编程的一般原则。 这在Engee多语言环境中尤为重要,在该环境中,可以在同一项目中使用不同的语言。