Matlab到C#代码转换和矩阵/数组

时间:2013-08-27 01:01:03

标签: c# arrays matlab matrix translation

我将matlab代码重写为C#。我不知道在matlab中编程,我无法理解这一部分:

d9=[d9 d8];
d10=d9(:,2:10);
d5=[d6 d10 d7];

变量d6,d7,d8和d9是二维阵列。

完整的Matlab代码在这里:link to codeforge.com

2 个答案:

答案 0 :(得分:2)

“我不知道在matlab中编程,我无法理解这部分”

a)d9=[d9 d8];

将连接矩阵d9d8,并将结果存储在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);

:colon operator广泛用于向量操作,子脚本编写和创建for循环迭代器

下面,

第二个下标2:10表示d9

中的第2 3 4 ... 10列

:

中的所有行的第一个下标d10

因此,d10的所有元素都会为d9的所有行中的所有元素分配>> c=a(:,2:4) c = 2 5 6 4 7 8

示例:

d5=[d6 d10 d7];

c)d6

再次类似于第一个,连接矩阵d10 d7d5,并将结果分配给{{1}}。

答案 1 :(得分:0)

还不能直接在答案中发表评论,但我认为P0W的答案中有一个错字。

它应该说明:

"第一个下标: d9 "中的所有行(重点补充)而不是"第一个下标:d10"

中的所有行

其余的答案是正确的,但万一它会让一些不熟悉Matlab的人感到困惑......