Julia for MATLAB 用户/核心语言/语言基础
此页面将 MATLAB 文档的 语言基础 部分中记录的 MATLAB 功能映射到等效的 Julia(核心语言和/或包)功能。
另一个有用的资源是 Julia 文档的 与 MATLAB 的显著差异 部分。
相关:Julia REPL
Julia 的 ans
在功能上基本相同,不过请注意,它仅在 REPL 中可用。
Ctrl+L 在 Julia REPL 中几乎等效,虽然它不会清除历史记录;您仍然可以向上滚动以查看会话历史记录。您也可以等效地(在 Linux/Mac 上)在 shell 模式下运行 clear(1)
命令,即 ;+clear.
似乎没有等效的 Julia REPL 命令。
在 Julia REPL 或 IJulia 中没有用于全局设置输出格式的直接等效项。
Ctrl+L 在 Julia REPL 中功能等效。
似乎没有等效的 Julia 命令,但请参阅 Julia 手册中的 关键字。
请参阅 Julia 手册中的 多维数组。
Julia 的 zeros
和 ones
功能等效。请注意,用于指定结果数据类型的语法不同,例如 Julia: zeros(Int64, 3, 3)
与 MATLAB zeros(3,3, 'int64')
。
请参阅 Julia 的 rand
。
在 Julia 中,要构造一个数值单位矩阵,请使用类似 Matrix(1.0I, 3, 3)
的方法。请注意,符号 I
在 Julia 中是特殊的;它不是表示矩阵,而是 UniformScaling
运算符的实例,因此原则上,使用它比使用恰好在对角线上为 1,其他位置为 0 的稠密矩阵更有效。
diag
创建对角矩阵或获取矩阵的对角元素
[edit | edit source]blkdiag
从输入参数构造分块对角矩阵
[edit | edit source]cat
沿指定维度连接数组
[edit | edit source]horzcat
水平连接数组
[edit | edit source]参见 Julia 的 hcat 函数
vertcat
垂直连接数组
[edit | edit source]repelem
重复数组元素的副本
[edit | edit source]repmat
重复数组的副本
[edit | edit source]linspace
生成线性等间距向量
[edit | edit source]logspace
生成对数等间距向量
[edit | edit source]freqspace
频率响应的频率间距
[edit | edit source]meshgrid
2-D 和 3-D 网格
[edit | edit source]ndgrid
N-D 空间中的矩形网格
[edit | edit source]length
最大数组维度的长度
[edit | edit source]Julia 有一个 length
函数,但是它对多维数组的操作方式与 Matlab 的不同。为了获得与 Matlab 的 length(X)
相同的行为,在 Julia 中使用 maximum(size(X))
。
size
数组大小
[edit | edit source]ndims
数组维度的数量
[edit | edit source]在 Julia 中,ndims
类似但并不完全相同。例如,Julia 不忽略单例维度。
numel
数组元素的数量
[edit | edit source]在 Julia 中,length
等价。
isscalar
确定输入是否为标量
[edit | edit source]isvector
确定输入是否为向量
[edit | edit source]ismatrix
确定输入是否为矩阵
[edit | edit source]isrow
确定输入是否为行向量
[edit | edit source]iscolumn
确定输入是否为列向量
[edit | edit source]isempty
确定数组是否为空
[edit | edit source]sort
排序数组元素
[edit | edit source]sortrows
对矩阵或表格的各行进行排序
[edit | edit source]issorted
判断数组是否已排序
[edit | edit source]issortedrows
判断矩阵或表格的各行是否已排序
[edit | edit source]topkrows
按排序顺序排列的前 k 行
[edit | edit source]flip
翻转元素的顺序
[edit | edit source]fliplr
将数组从左翻转到右
[edit | edit source]flipud
将数组从上翻转到下
[edit | edit source]rot90
将数组旋转 90 度
[edit | edit source]transpose
转置向量或矩阵
[edit | edit source]ctranspose
复共轭转置
[edit | edit source]permute
重新排列 N 维数组的维度
[edit | edit source]ipermute
反转 N 维数组的维度排列
[edit | edit source]circshift
以循环方式移动数组
[edit | edit source]shiftdim
移动维度
[edit | edit source]reshape
改变数组的形状
[edit | edit source]squeeze
删除单元素维度
[edit | edit source]Julia 的 dropdims
函数类似,尽管它需要显式指定单元素维度。
colon
向量创建、数组下标和 for 循环迭代
[edit | edit source]end
终止代码块,或指示最后一个数组索引
[edit | edit source]Julia 的 end
在本质上是等效的。
ind2sub
从线性索引获取下标
[edit | edit source]sub2ind
将下标转换为线性索引
[edit | edit source]运算符和基本运算
[edit | edit source]请参阅 Julia 手册中的 数学运算和基本函数。
算术
[edit | edit source]plus
加法
[edit | edit source]uplus
一元加法
[edit | edit source]bsxfun
对两个启用隐式扩展的数组执行逐元素操作
[edit | edit source]关系运算
[edit | edit source]eq
判断相等性
[edit | edit source]ge
判断大于或等于
[edit | edit source]gt
判断大于
[edit | edit source]le
判断小于或等于
[edit | edit source]lt
判断小于
[edit | edit source]ne
判断不等性
[edit | edit source]isequal
判断数组相等性
[edit | edit source]isequaln
判断数组相等性,将NaN值视为相等
[edit | edit source]逻辑运算
[edit | edit source]逻辑运算符:短路逻辑运算,带短路功能
[edit | edit source]and
查找逻辑与
[edit | edit source]not
查找逻辑非
[edit | edit source]or
查找逻辑或
[edit | edit source]xor
查找逻辑异或
[edit | edit source]all
判断所有数组元素是否非零或为真
[edit | edit source]any
判断数组元素中是否存在非零元素
[edit | edit source]false
逻辑0(false)
[edit | edit source]find
查找非零元素的索引和值
[edit | edit source]在Julia中,findall
提供类似的功能。 也可以参考 findfirst
, findlast
, findnext
和 findprev
。
islogical
判断输入是否为逻辑数组
[edit | edit source]logical
将数值转换为逻辑值
[edit | edit source]true
逻辑 1 (true)
[edit | edit source]集合操作
[edit | edit source]intersect
两个数组的交集
[edit | edit source]ismember
数组元素是集合数组的成员
[edit | edit source]ismembertol
在容差范围内集合的成员
[edit | edit source]issorted
判断数组是否已排序
[edit | edit source]setdiff
两个数组的差集
[edit | edit source]setxor
两个数组的异或
[edit | edit source]union
两个数组的并集
[edit | edit source]unique
数组中的唯一值
[edit | edit source]uniquetol
在容差范围内唯一值
[edit | edit source]join
使用关键变量按行合并两个表或时间表
[edit | edit source]innerjoin
两个表或时间表之间的内连接
[edit | edit source]outerjoin
两个表或时间表之间的外连接
[edit | edit source]按位运算
[edit | edit source]bitand
按位与
[edit | edit source]bitcmp
按位取反
[edit | edit source]bitget
获取指定位置的位
[edit | edit source]bitor
按位或
[edit | edit source]bitset
设置特定位置的位
[edit | edit source]bitshift
将位移位指定的位数
[edit | edit source]bitxor
按位异或
[edit | edit source]swapbytes
交换字节顺序
[edit | edit source]数据类型
[edit | edit source]参见 Julia 手册中的 类型。