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 手册中的 类型。