我将matlab代码重写为C#。我对在 matlab 中编程一无所知,我无法理解这部分:
d9=[d9 d8];
d10=d9(:,2:10);
d5=[d6 d10 d7];
变量 d6、d7、d8 和 d9 是二维数组。
完整的 Matlab 代码在这里:链接到 codeforge.com
我将matlab代码重写为C#。我对在 matlab 中编程一无所知,我无法理解这部分:
d9=[d9 d8];
d10=d9(:,2:10);
d5=[d6 d10 d7];
变量 d6、d7、d8 和 d9 是二维数组。
完整的 Matlab 代码在这里:链接到 codeforge.com
“我不知道在 matlab 中编程,我无法理解这部分”
一种)d9=[d9 d8];
将连接矩阵d9
并将d8
结果存储在d9
. 另一种方式是它只是将矩阵附加d8
到d9
例子 :
>> a=[1 2;3 4]
a =
1 2
3 4
>> b=[5 6;7 8]
b =
5 6
7 8
>> a=[a b]
a =
1 2 5 6
3 4 7 8
b)d10=d9(:,2:10);
:
是冒号运算符 ,广泛用于向量操作、下标和创建循环迭代器
这里,
第二个下标2:10
表示列号 2 3 4...10 ind9
第一个下标:
所有行d10
Sod10
由 的所有行中第 2 列到第 10 列中的所有元素分配d9
。
例子 :
>> c=a(:,2:4)
c =
2 5 6
4 7 8
C)d5=[d6 d10 d7];
再次类似于第一个,连接矩阵d6
d10
并将d7
结果分配给d5
.
尚无法直接在答案下发表评论,但我认为 P0W 的答案中有错字。
它应该说明:
“第一个下标:d9中的所有行”(强调添加)而不是“第一个下标:d10 中的所有行”
其余的答案是正确的,但以防万一它使不熟悉 Matlab 的人感到困惑......