【问题标题】:Adding multiple rows in Array在数组中添加多行
【发布时间】:2015-11-04 16:25:28
【问题描述】:

我有一个 A 大小为 16X16 的数组,我想在 A 中添加 16 行中的前 3 行。 MATLAB 中最有效的解决方案是什么?

我试过这段代码,但效率不高,因为我想为大型数组扩展它:

filename = 'n1.txt';
B = importdata(filename);
i = 1;
D = B(i,:)+ B(i+1,:)+ B(i+2,:);

例如,如果我想将其扩展为 256x256 大小的数组,并且我想提取 100 行并添加它们,我将如何做到这一点?

【问题讨论】:

    标签: arrays matlab matrix


    【解决方案1】:
    A(1:3,:);%// first three rows.
    

    这使用矩阵表示法的standard indices。查看我链接的 Luis 的答案,以获取有关所有形式索引的完整解释。求和:

    B = A(1:100,:);%// first 100 rows
    C = sum(B,1);%// sum per column
    D = sum(B,2);%// sum per row
    E = sum(B(:));%// sum all elements, rows and columns, to a single scalar
    

    【讨论】:

    • @ShahFahd 我编辑了你原来的问题,因为有很多语法错误,它不会按原样运行。我还删除了很多多余的代码以找到问题的根源。不是我给你写了答案。阿德里安做到了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多