【问题标题】:Matlab to C# code translation and matrix/arrayMatlab 到 C# 代码转换和矩阵/数组
【发布时间】:2013-08-27 01:01:03
【问题描述】:

我正在将 matlab 代码重写为 C#。我对matlab编程一窍不通,也看不懂这部分:

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

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

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

【问题讨论】:

    标签: c# arrays matlab matrix translation


    【解决方案1】:

    “我对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 广泛用于矢量操作、下标和创建循环迭代器

    这里,

    第二个下标2:10 表示d9 中的第2 3 4...10 列

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

    所以d10 是由d9 的所有行中第2 列到第10 列中的所有元素分配的。

    例子:

    >> c=a(:,2:4)
    
    c =
    
         2     5     6
         4     7     8
    

    c) d5=[d6 d10 d7];

    与第一个类似,连接矩阵 d6 d10d7 并将结果分配给 d5

    【讨论】:

    • 这就解释了一切。谢谢。
    【解决方案2】:

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

    应该说明:

    " first subscript : all rows in d9" (强调添加) 而不是" first subscript : all rows in d10 "

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

    【讨论】:

      猜你喜欢
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      相关资源
      最近更新 更多