1

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

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

变量 d6、d7、d8 和 d9 是二维数组。

完整的 Matlab 代码在这里:链接到 codeforge.com

4

2 回答 2

2

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

一种)d9=[d9 d8];

将连接矩阵d9并将d8结果存储在d9. 另一种方式是它只是将矩阵附加d8d9

例子 :

>> 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.

于 2013-08-27T03:02:38.460 回答
0

尚无法直接在答案下发表评论,但我认为 P0W 的答案中有错字。

它应该说明:

“第一个下标:d9中的所有行”(强调添加)而不是“第一个下标:d10 中的所有行”

其余的答案是正确的,但以防万一它使不熟悉 Matlab 的人感到困惑......

于 2014-07-07T13:01:34.110 回答