Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
sparrowzz
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
sgool
sparrowzz
Commits
6e5f2f04
Unverified
Commit
6e5f2f04
authored
Feb 07, 2026
by
Lian-runzhe
Committed by
GitHub
Feb 07, 2026
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update RustScript手册.md
parent
8b2b2e79
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
168 行增加
和
172 行删除
+168
-172
rustscript/RustScript手册.md
+168
-172
没有找到文件。
rustscript/RustScript手册.md
查看文件 @
6e5f2f04
# Rus
tScript 语言规范
# Rus
tScript 语言规范
...
...
@@ -259,8 +259,7 @@ tensor3d = [
函数:
get
语法:
element = get(t, row, col); // 获取指定位置的单个元素
注意:不支持 A[0,1] 这样的直接索引方式
element = get(t, row, col); // 获取指定位置的单个元素
输入参数:
t - 张量,若为稀疏矩阵,仅能获取非零元
row - 行索引,标量
...
...
@@ -276,6 +275,7 @@ tensor3d = [
输入 get(sparse([0,0],[0,1],[1,2], 2, 2), 0, 1)
结果 2
```
**注意**
:不支持 A
[
0,1
]
这样的直接索引方式
### 6.2 张量切片
```
rustscript
...
...
@@ -304,10 +304,10 @@ tensor3d = [
输入 slice(a, [1, 2], [0])
结果 [[4, 5, 6]]
输入 slice(a, [1, 3], [0, 2])
输入 slice(a, [1, 3], [0, 2])
结果 [[4,5],[7,8]]
输入 slice(a, [0, 3, 2], [0, 3, 2])
输入 slice(a, [0, 3, 2], [0, 3, 2])
结果 [[1,3],[7,9]]
输入 slice(a, [0], 1)
...
...
@@ -339,10 +339,10 @@ tensor3d = [
输入 select(a, [0,2])
结果 [[1, 2, 3], [7, 8, 9]]
输入 select(a, [], [0,2])
输入 select(a, [], [0,2])
结果 [[1,3], [4,6], [7,9]]
输入 select(a, 0, [0,2])
输入 select(a, 0, [0,2])
结果 [[1,3]]
```
...
...
@@ -445,13 +445,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
t - 张量
dim - 指定维度,若该参数为空则返回各维度大小构成的向量
示例:
输入 size([[1., 0.5, 0.3, 0.2], [0.5, 1., 0.6, 0.5], [0.3, 0.6, 1., 0.7]])
输入 size([[1., 0.5, 0.3, 0.2], [0.5, 1., 0.6, 0.5], [0.3, 0.6, 1., 0.7]])
结果 [3,4]
输入 size([1, 2, 3], 0)
输入 size([1, 2, 3], 0)
//一维张量dim参数只能为空或者0,返回元素个数
结果 3
输入 size([[1, 2, 3]], 0)
输入 size([[1, 2, 3]], 0)
//二维张量中,为空范围行数*列数,“0”返回行数,“1”返回列数
结果 1
输入 size([[1, 2, 3]], 1)
...
...
@@ -514,7 +514,7 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
B - 矩阵
若A的形状与B的形状相同,对应元素相加
若A为行向量且长度与B的列数相同,则B的每一行均与A相加,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相加,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相加,反之亦然
示例:
输入 [10,20]+[[1,2],[3,4]]
结果 [[11,22],[13,24]]
...
...
@@ -522,10 +522,10 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
输入 [[10],[20]]+[[1,2],[3,4]]
结果 [[11,12],[23,24]]
输入 [c(-3,-4),c(-1,-2)]+[[c(1,2),c(3,4)],[c(5,6),c(7,8)]]
输入 [c(-3,-4),c(-1,-2)]+[[c(1,2),c(3,4)],[c(5,6),c(7,8)]]
结果 [[c(-2,-2),c(2,2)],[c(2,2),c(6,6)]]
输入 [2,3]+sparse([0,1,2],[1,0,1],[2,3,6], 3, 2)
输入 [2,3]+sparse([0,1,2],[1,0,1],[2,3,6], 3, 2)
结果 [[2,5],[5,3],[2,9]]
```
##### 7.1.2.2 元素级减法
...
...
@@ -539,7 +539,7 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
B - 矩阵
若A的形状与B的形状相同,对应元素相减
若A为行向量且长度与B的列数相同,则B的每一行均与A相减,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相减,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相减,反之亦然
示例:
输入 [10,20]-[[1,2],[3,4]]
结果 [[9,18],[7,16]]
...
...
@@ -547,10 +547,10 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
输入 [[10],[20]]-[[1,2],[3,4]]
结果 [[9,8],[17,16]]
输入 [[c(1,2),c(3,4)],[c(5,6),c(7,8)]]-[c(-3,-4),c(-1,-2)]
输入 [[c(1,2),c(3,4)],[c(5,6),c(7,8)]]-[c(-3,-4),c(-1,-2)]
结果 [[c(4,6),c(4,6)],[c(8,10),c(8,10)]]
输入 [2,3]-sparse([0,1,2],[1,0,1],[2,3,6], 3, 2)
输入 [2,3]-sparse([0,1,2],[1,0,1],[2,3,6], 3, 2)
结果 [[2,1],[-1,3],[2,3]]
```
##### 7.1.2.3 元素级乘法
...
...
@@ -564,7 +564,7 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
B - 矩阵
若A的形状与B的形状相同,对应元素相乘
若A为行向量且长度与B的列数相同,则B的每一行均与A相乘,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相乘,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相乘,反之亦然
示例:
输入 [10,20].*[[1,2],[3,4]]
结果 [[10,40],[30,80]]
...
...
@@ -589,7 +589,7 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
B - 矩阵
若A的形状与B的形状相同,对应元素相除
若A为行向量且长度与B的列数相同,则B的每一行均与A相除,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相除,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相除,反之亦然
示例:
输入 [10,20]./[[1,2],[3,4]]
结果 [[10,10],[10/3, 5]]
...
...
@@ -612,12 +612,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
输入参数:
A - 矩阵
n - 标量
A中每个元素取n次幂
示例:
输入 [[1,2],[3,4]].^(-1)
结果 [[1,0.5], [1/3.,0.25]]
输入 [c(1,2),c(3,4)].^3
结果 [c(-
3,4),c(-7,2
4)]
结果 [c(-
11,-2),c(-117,4
4)]
输入 sparse([0,1,2],[1,0,1],[2,3,6], 3, 2).^3
结果 [[3, 2, 0], [0, 1, 8], [1, 0, 27], [2, 1, 216]]
...
...
@@ -633,7 +634,7 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
B - 矩阵
若A的形状与B的形状相同,对应元素相模
若A为行向量且长度与B的列数相同,则B的每一行均与A相模,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相模,反之亦然
若A为列向量且长度与B的行数相同,则B的每一列均与A相模,反之亦然
示例:
输入 [10,20]%[[2,3],[4,5]]
结果 [[0,2],[2,0]]
...
...
@@ -868,7 +869,7 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
输入 det([[1,2],[3,4]])
结果 -2
输入 det([[c(1,2),c(3,4)],[c(5,6),c(7,8)]])
输入 det([[c(1,2),c(3,4)],[c(5,6),c(7,8)]])
结果 c(0,-16)
```
...
...
@@ -881,21 +882,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A == B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
返回参数
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
示例:
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]==5
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]==5
结果 [[0,0,0],[0,1,0],[0,0,0]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]==[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]==[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
结果 [[0,1,0],[1,0,0],[0,0,1]]
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]==c(4,5)
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]==c(4,5)
结果 [[c(0,0), c(0,0), c(0,0)],[c(1,0), c(0,0), c(0,0)],[c(0,0), c(0,0), c(0,0)]]
```
#### 7.2.2 不等于
...
...
@@ -906,21 +907,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A != B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
返回参数:
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
示例:
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]!=5
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]!=5
结果 [[1,1,1],[1,0,1],[1,1,1]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]!=[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]!=[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
结果 [[1,0,1],[0,1,1],[1,1,0]]
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]!=c(4,5)
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]!=c(4,5)
结果 [[c(1,0), c(1,0), c(1,0)],[c(0,0), c(1,0), c(1,0)],[c(1,0), c(1,0), c(1,0)]]
```
#### 7.2.3 小于
...
...
@@ -931,21 +932,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A < B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
返回参数:
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
示例:
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<5
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<5
结果 [[1,1,1],[1,0,0],[0,0,0]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
结果 [[1,0,0],[0,0,0],[1,1,0]]
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]<c(4,5)
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]<c(4,5)
结果 [[c(1,0), c(1,0), c(1,0)],[c(0,0), c(0,0), c(0,0)],[c(0,0), c(0,0), c(0,0)]]
```
#### 7.2.4 小于等于
...
...
@@ -956,21 +957,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A <= B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
返回参数:
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
示例:
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<=5
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<=5
结果 [[1,1,1],[1,1,0],[0,0,0]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<=[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<=[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
结果 [[1,1,0],[1,0,0],[1,1,1]]
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]<=c(4,5)
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]<=c(4,5)
结果 [[c(1,0), c(1,0), c(1,0)],[c(1,0), c(0,0), c(0,0)],[c(0,0), c(0,0), c(0,0)]]
```
#### 7.2.5 大于
...
...
@@ -981,21 +982,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A > B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
返回参数:
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
示例:
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>5
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>5
结果 [[0,0,0],[0,0,1],[1,1,1]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
结果 [[0,0,1],[0,1,1],[0,0,0]]
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]>c(4,5)
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]>c(4,5)
结果 [[c(0,0), c(0,0), c(0,0)],[c(0,0), c(1,0), c(1,0)],[c(1,0), c(1,0), c(1,0)]]
```
#### 7.2.6 大于等于
...
...
@@ -1006,21 +1007,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A >= B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行比较
返回参数:
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的比较结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的比较结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的比较结果
示例:
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>=5
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>=5
结果 [[0,0,0],[0,1,1],[1,1,1]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>=[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
输入 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>=[[2, 2, 2], [4, 4, 4], [9, 9, 9]]
结果 [[0,1,1],[1,1,1],[0,0,1]]
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]>=c(4,5)
输入 [[c(1,9), c(2,8), c(3,7)],[c(4,6), c(5,5), c(6,4)],[c(7,3), c(8,2), c(9,1)]]>=c(4,5)
结果 [[c(0,0), c(0,0), c(0,0)],[c(1,0), c(1,0), c(1,0)],[c(1,0), c(1,0), c(1,0)]]
```
...
...
@@ -1033,21 +1034,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A && B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行逻辑运算
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行逻辑运算
返回参数:
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的逻辑运算结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的逻辑运算结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的逻辑运算结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的逻辑运算结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的逻辑运算结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的逻辑运算结果
示例:
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]&&5
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]&&5
结果 [[1,0,1],[0,1,1],[1,0,1]]
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]&&[[2, 0, 0], [0, 4, 0], [0, 0, 9]]
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]&&[[2, 0, 0], [0, 4, 0], [0, 0, 9]]
结果 [[1,0,0],[0,1,0],[0,0,1]]
输入 [[c(1,9), c(0,8), c(0,7)],[c(0,6), c(5,5), c(0,4)],[c(0,3), c(0,2), c(9,1)]]&&c(4,5)
输入 [[c(1,9), c(0,8), c(0,7)],[c(0,6), c(5,5), c(0,4)],[c(0,3), c(0,2), c(9,1)]]&&c(4,5)
结果 [[c(1,0), c(0,0), c(0,0)],[c(0,0), c(1,0), c(0,0)],[c(0,0), c(0,0), c(1,0)]]
```
#### 7.3.2 逻辑或
...
...
@@ -1058,21 +1059,21 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
A || B;
输入参数:
A - 张量或标量
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行逻辑运算
B - 张量或标量
若A、B均为张量,A、B形状应相同
对于复数,取实部进行逻辑运算
返回参数:
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的逻辑运算结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的逻辑运算结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的逻辑运算结果
若A为标量、B为张量,则返回与B形状相同的张量,其中元素为A与B对应元素的逻辑运算结果
若A为张量、B为标量,则返回与A形状相同的张量,其中元素为A对应元素与B的逻辑运算结果
若A、B均为张量,则返回与二者形状相同的张量,其中元素为A对应元素与B对应元素的逻辑运算结果
示例:
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]||5
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]||5
结果 [[1,1,1],[1,1,1],[1,1,1]]
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]||[[2, 0, 0], [0, 4, 0], [0, 0, 9]]
输入 [[1, 0, 3], [0, 5, 6], [7, 0, 9]]||[[2, 0, 0], [0, 4, 0], [0, 0, 9]]
结果 [[1,0,1],[0,1,1],[1,0,1]]
输入 [[c(1,9), c(0,8), c(0,7)],[c(0,6), c(5,5), c(0,4)],[c(0,3), c(0,2), c(9,1)]]||c(4,5)
输入 [[c(1,9), c(0,8), c(0,7)],[c(0,6), c(5,5), c(0,4)],[c(0,3), c(0,2), c(9,1)]]||c(4,5)
结果 [[c(1,0), c(1,0), c(1,0)],[c(1,0), c(1,0), c(1,0)],[c(1,0), c(1,0), c(1,0)]]
```
#### 7.3.3 逻辑非
...
...
@@ -1084,14 +1085,14 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
输入参数:
A - 张量或标量,对于复数,取实部进行逻辑运算
示例:
输入 ~~[[1, 0, 3], [0, 5, 6], [7, 0, 9]]
输入 ~~[[1, 0, 3], [0, 5, 6], [7, 0, 9]]
结果 [[0,1,0],[1,0,0],[0,1,0]]
输入 ~~[[c(1,9), c(0,8), c(0,7)],[c(0,6), c(5,5), c(0,4)],[c(0,3), c(0,2), c(9,1)]]
输入 ~~[[c(1,9), c(0,8), c(0,7)],[c(0,6), c(5,5), c(0,4)],[c(0,3), c(0,2), c(9,1)]]
结果 [[c(0,0), c(1,0), c(1,0)],[c(1,0), c(0,0), c(1,0)],[c(1,0), c(1,0), c(0,0)]]
电力系统实际使用示例:
bus_gen_status = ~~bus_gen_status; // 逻辑非运算
pq = find(bus_type == PQ || ~~bus_gen_status); // 组合逻辑运算
bus_gen_status = ~~bus_gen_status; // 逻辑非运算
pq = find(bus_type == PQ || ~~bus_gen_status); // 组合逻辑运算
```
### 7.4 位运算符
...
...
@@ -1103,13 +1104,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
a & b;
输入参数:
a - 标量
b - 标量
对于复数,取实部进行位运算
b - 标量
对于复数,取实部进行位运算
示例:
输入 5&3
输入 5&3
结果 1
输入 c(6, 8)&c(4, 5)
输入 c(6, 8)&c(4, 5)
结果 c(4,0)
```
#### 7.4.2 位或
...
...
@@ -1120,13 +1121,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
a | b;
输入参数:
a - 标量
b - 标量
对于复数,取实部进行位运算
b - 标量
对于复数,取实部进行位运算
示例:
输入 5|3
输入 5|3
结果 7
输入 c(6, 8)|c(4, 5)
输入 c(6, 8)|c(4, 5)
结果 c(6,0)
```
#### 7.4.3 位异或
...
...
@@ -1137,13 +1138,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
a ^^ b;
输入参数:
a - 标量
b - 标量
对于复数,取实部进行位运算
b - 标量
对于复数,取实部进行位运算
示例:
输入 5^^3
输入 5^^3
结果 6
输入 c(6, 8)^^c(4, 5)
输入 c(6, 8)^^c(4, 5)
结果 c(2,0)
```
#### 7.4.4 位取反
...
...
@@ -1155,10 +1156,10 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
输入参数:
a - 标量,对于复数,取实部进行位运算
示例:
输入 ~5
输入 ~5
结果 -6
输入 ~c(6, 8)
输入 ~c(6, 8)
结果 c(-7,0)
```
#### 7.4.5 位左移
...
...
@@ -1169,13 +1170,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
a << b;
输入参数:
a - 标量
b - 标量
对于复数,取实部进行位运算
b - 标量
对于复数,取实部进行位运算
示例:
输入 5<<1
输入 5<<1
结果 10
输入 c(6, 8)<<c(2, 5)
输入 c(6, 8)<<c(2, 5)
结果 c(24,0)
```
#### 7.4.6 位右移
...
...
@@ -1186,13 +1187,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
a >> b;
输入参数:
a - 标量
b - 标量
对于复数,取实部进行位运算
b - 标量
对于复数,取实部进行位运算
示例:
输入 5>>1
输入 5>>1
结果 2
输入 c(6, 8)>>c(2, 5)
输入 c(6, 8)>>c(2, 5)
结果 c(1,0)
```
#### 7.4.7 位取值
...
...
@@ -1203,13 +1204,13 @@ c = [[1], [2], [3]]; // 列向量(二维张量), shape: [3, 1]
a @ b;
输入参数:
a - 标量
b - 标量
对于复数,取实部进行位运算
b - 标量
对于复数,取实部进行位运算
示例:
输入 5@1
输入 5@1
结果 1
输入 c(5, 8)@c(2, 5)
输入 c(5, 8)@c(2, 5)
结果 c(0,0)
```
...
...
@@ -1259,11 +1260,6 @@ fn function_name(param1, param2, ...) {
return result;
}
// 简化返回语法(最后一个表达式作为返回值)
fn add(a, b) {
a + b
}
//函数支持多个返回
fn two_return_fn(input) {
return(input, input+1);
...
...
@@ -1308,10 +1304,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 sqrt([[1,4],[9,16]])
结果 [[1,2], [3,4]]
输入 [c(-3,4), c(-7,24)]
输入 [c(-3,4), c(-7,24)]
结果 [c(1,2), c(3,4)]
输入 sqrt(sparse([0,1,2],[1,0,1],[4.,9.,36.], 3, 2))
输入 sqrt(sparse([0,1,2],[1,0,1],[4.,9.,36.], 3, 2))
结果 [[3, 2, 0], [0, 1, 2], [1, 0, 3], [2, 1, 6]]
```
### 10.1.2 自然指数函数
...
...
@@ -1326,10 +1322,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 exp([[1,2],[3,4]])
结果 [[e,e^2],[e^3,e^4]]
输入 exp([c(1., pi/2), c(2, pi)])
输入 exp([c(1., pi/2), c(2, pi)])
结果 [c(0, e), c(-e^2, 0)]
输入 exp(sparse([0,0],[0,1],[1,2], 2, 2))
输入 exp(sparse([0,0],[0,1],[1,2], 2, 2))
结果 [[2, 2, 0], [0, 0, e], [0, 1, e^2]]
```
### 10.1.3 自然对数函数
...
...
@@ -1344,10 +1340,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 ln([[1,e],[e^2,e^3]])
结果 [[0,1],[2,3]]
输入 ln([c(0,e), c(-e^2,0)])
输入 ln([c(0,e), c(-e^2,0)])
结果 [c(1, pi/2), c(2, pi)]
输入 ln(sparse([0,0],[0,1],[1,e], 2, 2))
输入 ln(sparse([0,0],[0,1],[1,e], 2, 2))
结果 [[2, 2, 0], [0, 0, 0], [0, 1, 1]]
```
### 10.1.4 常用对数函数
...
...
@@ -1362,10 +1358,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 log10([[1,10],[100,1000]])
结果 [[0.,1.],[2.,3.]]
输入 log10([c(0, 10), c(-100, 0)])
输入 log10([c(0, 10), c(-100, 0)])
结果 [c(1, 0.0.682188), c(2, 1.364376)]
输入 log10(sparse([0,0],[0,1],[1,10], 2, 2))
输入 log10(sparse([0,0],[0,1],[1,10], 2, 2))
结果 [[2, 2, 0], [0, 0, 0], [0, 1, 1]]
```
### 10.1.5 正弦函数
...
...
@@ -1380,10 +1376,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 sin([[0,pi/6],[pi/2,pi]])
结果 [[0,0.5],[1,0]]
输入 sin([c(1, 1), c(0, 1)])
输入 sin([c(1, 1), c(0, 1)])
结果 [c(1.298458, 0.634964), c(0, 1.175201)]
输入 sin(sparse([0,0],[0,1],[pi/6,pi/2], 2, 2))
输入 sin(sparse([0,0],[0,1],[pi/6,pi/2], 2, 2))
结果 [[2, 2, 0], [0, 0, 0.5], [0, 1, 1]]
```
### 10.1.6 余弦函数
...
...
@@ -1398,7 +1394,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 cos([[0,pi/3],[pi/2,pi]])
结果 [[1,0.5],[0,-1]]
输入 cos([c(1, 1), c(0, 1)])
输入 cos([c(1, 1), c(0, 1)])
结果 [c(0.833730, -0.988898), c(1.543081, 0)]
输入 cos(sparse([0,0],[0,1],[pi/3,pi/2], 2, 2))
...
...
@@ -1419,7 +1415,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 tan([c(1, 1), c(0, 1)])
结果 [c(0.271753, 1.083923), c(0, 0.761594)]
输入 tan(sparse([0,0],[0,1],[pi/4,0.75*pi], 2, 2))
输入 tan(sparse([0,0],[0,1],[pi/4,0.75*pi], 2, 2))
结果 [[2, 2, 0], [0, 0, 1], [0, 1, -1]]
```
### 10.1.8 反正弦函数
...
...
@@ -1434,10 +1430,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 asin([[0,0.5],[1,-0.5]])
结果 [[0,pi/6],[pi/2,-pi/6]]
输入 asin([c(2, 0), c(0, 1)])
输入 asin([c(2, 0), c(0, 1)])
结果 [c(pi/2, -ln(2+sqrt(3))), c(0, -ln(sqrt(2)-1))]
输入 asin(sparse([0,0],[0,1],[0.5,1], 2, 2))
输入 asin(sparse([0,0],[0,1],[0.5,1], 2, 2))
结果 [[2, 2, 0], [0, 0, pi/6], [0, 1, pi/2]]
```
### 10.1.9 反余弦函数
...
...
@@ -1452,7 +1448,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 acos([[1,0.5],[0,-1]])
结果 [[0,pi/3],[pi/2,pi]]
输入 acos([c(2, 0), c(0, 1)])
输入 acos([c(2, 0), c(0, 1)])
结果 [c(0, -ln(2+sqrt(3))), c(0, -ln(sqrt(2)+1))]
输入 acos(sparse([0,0],[0,1],[0.5,0], 2, 2))
...
...
@@ -1473,7 +1469,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 atan([c(1, 0), c(1, 1)])
结果 [c(pi/4, 0), c(1.017222, 0.402359)]
输入 atan(sparse([0,0],[0,1],[1,-1], 2, 2))
输入 atan(sparse([0,0],[0,1],[1,-1], 2, 2))
结果 [[2, 2, 0], [0, 0, pi/4], [0, 1, -pi/4]]
```
### 10.1.11 双曲正弦函数
...
...
@@ -1488,10 +1484,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 sinh([[0,1],[-2,ln(3+sqrt(10))]])
结果 [[0,1.175201],[-3.626860,3]]
输入 sinh([c(1, 1), c(0, pi)])
输入 sinh([c(1, 1), c(0, pi)])
结果 [c(0.634964, 1.298458), c(0, 0)]
输入 sinh(sparse([0,0],[0,1],[1,-2], 2, 2))
输入 sinh(sparse([0,0],[0,1],[1,-2], 2, 2))
结果 [[2, 2, 0], [0, 0, 1.175201], [0, 1, -3.626860]]
```
### 10.1.12 双曲余弦函数
...
...
@@ -1506,10 +1502,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 cosh([[0,1],[-0.5,ln(2+sqrt(3))]])
结果 [[1.,1.543081],[1.127626,2]]
输入 cosh([c(1, 1), c(0, 1)])
输入 cosh([c(1, 1), c(0, 1)])
结果 [c(0.833730, 0.988898), c(0.540302, 0)]
输入 cosh(sparse([0,0],[0,1],[1,-0.5], 2, 2))
输入 cosh(sparse([0,0],[0,1],[1,-0.5], 2, 2))
结果 [[2, 2, 0], [0, 0, 1.543081], [0, 1, 1.127626]]
```
### 10.1.13 双曲正切函数
...
...
@@ -1524,10 +1520,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 tanh([[0,1],[-2,ln(3)]])
结果 [[0,0.761594],[-0.964028,0.8]]
输入 tanh([c(1, 1), c(0, 1)])
输入 tanh([c(1, 1), c(0, 1)])
结果 [c(1.083923, 0.271753), c(0, 1.557408)]
输入 tanh(sparse([0,0],[0,1],[1,ln(3)], 2, 2))
输入 tanh(sparse([0,0],[0,1],[1,ln(3)], 2, 2))
结果 [[2, 2, 0], [0, 0, 0.761594], [0, 1, 0.8]]
```
### 10.1.14 双曲反正弦函数
...
...
@@ -1542,10 +1538,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 asinh([[0,1],[-2,3]])
结果 [[0, 0.881374],[-1.443635, ln(3+sqrt(10))]]
输入 asinh([c(1, 1), c(0, 1)])
输入 asinh([c(1, 1), c(0, 1)])
结果 [c(1.061275, 0.666239), c(0, pi/2)]
输入 asinh(sparse([0,0],[0,1],[1,-2], 2, 2))
输入 asinh(sparse([0,0],[0,1],[1,-2], 2, 2))
结果 [[2, 2, 0], [0, 0, 0.881374], [0, 1, -1.443635]]
```
### 10.1.15 双曲反余弦函数
...
...
@@ -1560,10 +1556,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 acosh([[1,2],[cosh(3),5]])
结果 [[0,1.316958],[3,ln(5+2*sqrt(6))]]
输入 acosh([c(0, 0), c(0, 1)])
输入 acosh([c(0, 0), c(0, 1)])
结果 [c(0, pi/2), c(0.881374, pi/2)]
输入 acosh(sparse([0,0],[0,1],[2,cosh(3)], 2, 2))
输入 acosh(sparse([0,0],[0,1],[2,cosh(3)], 2, 2))
结果 [[2, 2, 0], [0, 0, 1.316958], [0, 1, 3]]
```
### 10.1.16 双曲反正切函数
...
...
@@ -1578,10 +1574,10 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 atanh([[0,0.5],[-2/3,3/4]])
结果 [[0, 0.549306],[-0.804719,0.5*ln(7)]]
输入 atanh([c(2, 0), c(0, 1)])
输入 atanh([c(2, 0), c(0, 1)])
结果 [c(0.5*ln(3), -pi/2), c(0, pi/4)]
输入 atanh(sparse([0,0],[0,1],[0.5,-2/3], 2, 2))
输入 atanh(sparse([0,0],[0,1],[0.5,-2/3], 2, 2))
结果 [[2, 2, 0], [0, 0, 0.549306], [0, 1, -0.804719]]
```
### 10.1.17 绝对值函数
...
...
@@ -1596,7 +1592,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 abs([[0,-1],[-2,3]])
结果 [[0,1],[2,3]]
输入 abs(sparse([0,0],[0,1],[-1,-2], 2, 2))
输入 abs(sparse([0,0],[0,1],[-1,-2], 2, 2))
结果 [[2, 2, 0], [0, 0, 1], [0, 1, 2]]
```
### 10.1.18 符号函数
...
...
@@ -1611,7 +1607,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 signum([[0,-1],[-2,3]])
结果 [[1,-1],[-1,1]]
输入 signum([c(0,-1), c(-2,3)])
输入 signum([c(0,-1), c(-2,3)])
结果 [c(1, 0), c(-1, 0)]
输入 signum(sparse([0,0],[0,1],[-2,3], 2, 2))
...
...
@@ -1629,7 +1625,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 floor([[0.6,-2.3],[1.3,-3.6]])
结果 [[0,-3],[1,-4]]
输入 floor([c(0.6,-2.3), c(1.3,-3.6)])
输入 floor([c(0.6,-2.3), c(1.3,-3.6)])
结果 [c(0, 0), c(1, 0)]
输入 floor(sparse([0,0],[0,1],[0.6,-2.3], 2, 2))
...
...
@@ -1647,7 +1643,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 ceil([[0.6,-2.3],[1.3,-3.6]])
结果 [[1,-2],[2,-3]]
输入 ceil([c(0.6,-2.3), c(1.3,-3.6)])
输入 ceil([c(0.6,-2.3), c(1.3,-3.6)])
结果 [c(1, 0), c(2, 0)]
输入 ceil(sparse([0,0],[0,1],[0.6,-2.3], 2, 2))
...
...
@@ -1665,7 +1661,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 round([[0.6,-2.3],[1.3,-3.6]])
结果 [[1,-2],[1,-4]]
输入 round([c(0.6,-2.3), c(1.3,-3.6)])
输入 round([c(0.6,-2.3), c(1.3,-3.6)])
结果 [c(1, 0), c(1, 0)]
输入 round(sparse([0,0],[0,1],[0.6,-2.3], 2, 2))
...
...
@@ -1683,7 +1679,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 deg2rad([30, 45])
结果 [pi/6, pi/4]
输入 deg2rad([c(30, 45), c(60, 90)])
输入 deg2rad([c(30, 45), c(60, 90)])
结果 [c(pi/6, pi/4), c(pi/3, pi/2)]
输入 deg2rad(sparse([0,0], [0,1], [30,45], 2, 2))
...
...
@@ -1701,7 +1697,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 rad2deg([pi, pi/2])
结果 [180, 90]
输入 rad2deg([c(pi/6, pi/4), c(pi/3, pi/2)])
输入 rad2deg([c(pi/6, pi/4), c(pi/3, pi/2)])
结果 [c(30, 45), c(60, 90)]
输入 rad2deg(sparse([0,0], [0,1], [pi/2,pi], 2, 2))
...
...
@@ -1797,7 +1793,7 @@ fn make_y_bus(baseMVA, bus, branch) {
输入 det([[1,2],[3,4]])
结果 -2
输入 det([[c(1,2),c(3,4)],[c(5,6),c(7,8)]])
输入 det([[c(1,2),c(3,4)],[c(5,6),c(7,8)]])
结果 c(0,-16)
```
### 10.2.1.2 逆矩阵
...
...
@@ -2051,7 +2047,7 @@ reshape(A, m, n), repmat(A, m, n)
t - 张量
dim - 指定维度,若该参数为空则返回各维度大小构成的向量
示例:
输入 size([[1., 0.5, 0.3, 0.2], [0.5, 1., 0.6, 0.5], [0.3, 0.6, 1., 0.7]])
输入 size([[1., 0.5, 0.3, 0.2], [0.5, 1., 0.6, 0.5], [0.3, 0.6, 1., 0.7]])
结果 [3,4]
输入 size([1, 2, 3], 0)
...
...
@@ -2078,7 +2074,7 @@ reshape(A, m, n), repmat(A, m, n)
输入参数:
t - 张量,若为稀疏矩阵,返回非零元个数
示例:
输入 length([1, 2, 3])
输入 length([1, 2, 3])
结果 3
输入 length([[c(1, 2), c(3, 4)], [c(5, 6), c(7, 8)]])
...
...
@@ -2138,10 +2134,10 @@ numel(tensor) // 元素个数
输入 slice(a,
[
1, 2
]
,
[
0
]
)
结果
[
[4, 5, 6
]
]
输入 slice(a,
[
1, 3
]
,
[
0, 2
]
)
输入 slice(a,
[
1, 3
]
,
[
0, 2
]
)
结果
[
[4,5
]
,
[
7,8
]
]
输入 slice(a,
[
0, 3, 2
]
,
[
0, 3, 2
]
)
输入 slice(a,
[
0, 3, 2
]
,
[
0, 3, 2
]
)
结果
[
[1,3
]
,
[
7,9
]
]
输入 slice(a,
[
0
]
, 1)
...
...
@@ -2170,7 +2166,7 @@ numel(tensor) // 元素个数
输入 set(
[
[1, 2
]
,
[
3, 4
]
],
[
2, 0
]
,
[
-1, -3
]
)
结果
[
[-3, 2
]
,
[
-1, 4
]
]
输入 set(
[
c(1, 2), c(3, 4), c(5, 6), c(7, 8)
]
,
[
c(1, 0), c(2, 0)
]
,
[
c(-3, -4), c(-5, -6)
]
)
输入 set(
[
c(1, 2), c(3, 4), c(5, 6), c(7, 8)
]
,
[
c(1, 0), c(2, 0)
]
,
[
c(-3, -4), c(-5, -6)
]
)
结果
[
c(1, 2), c(-3, -4), c(-5, -6), c(7, 8)
]
输入 set(sparse(
[
0,0
]
,
[
0,1
]
,
[
1,2
]
, 2, 2),
[
1, 3
]
,
[
3, 4
]
)
...
...
@@ -2193,7 +2189,7 @@ numel(tensor) // 元素个数
输入 set2(
[
[1, 2
]
,
[
3, 4
]
],
[
2, 0
]
,
[
-1, -3
]
)
结果
[
[-3, 2
]
,
[
-1, 4
]
]
输入 set2(
[
c(1, 2), c(3, 4), c(5, 6), c(7, 8)
]
,
[
c(1, 0), c(2, 0)
]
,
[
c(-3, -4), c(-5, -6)
]
)
输入 set2(
[
c(1, 2), c(3, 4), c(5, 6), c(7, 8)
]
,
[
c(1, 0), c(2, 0)
]
,
[
c(-3, -4), c(-5, -6)
]
)
结果
[
c(1, 2), c(0, 0), c(0, 0), c(7, 8)
]
输入 set2(sparse(
[
0,0
]
,
[
0,1
]
,
[
1,2
]
, 2, 2),
[
1, 3
]
,
[
3, 4
]
)
...
...
@@ -2807,7 +2803,7 @@ fn make_y_bus(baseMVA, bus, branch) {
- 例如:母线编号仍然是1, 2, 3...
**函数转换(转换为0基索引):**
- 函数中的索引操作需要转换:`
A(i)
` → `
A
[
i-1
]
`
- 循环变量需要调整:`
for i = 1:n
` → `
for i in
range(0, n)
`
- 函数中的索引操作需要转换:`
A(i)
` → `
get(A, i-1)
`
- 循环变量需要调整:`
for i = 1:n
` → `
for i in
0..n-1
`
- 序列生成需要转换:`
1:n
` → `
range(1, n+1)
` 或 `
range(0, n)
`
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论