一个紧凑的方式(i)和两行两列然后(ii)删除其中一个总结行和总结的两个列

3视图(30天)
一个紧凑的方式(i)两行两列的总和,(2)然后删除其中一个总结行和列的一个总结,即。 x3 在下面的例子中?
输入% 1:
x1 = [1 0 5 7 1 0
3 2 0 1 2 0
9 8 0 0 0 6
5 5 6 7 1 1
1 1 1 9 4 5
0 0 1 7 6 2]
%输入2:
%的行总结第二和第三,
%,而列总结第四和第五。
x1 = 6×6
1 0 5 7 1 0 3 2 0 1 2 0 9 8 0 0 0 6 5 4 5 6 7 1 1 1 1 1 9 7 6 2 5 0 0 1
%行:(i)和第二和第三行和(2)删除两个总结行之一
x2 = vertcat (x1 (1:), x1 (2:) + x1 (3:), x1 (4:6 -:))
x2 = 5×6
1 0 5 7 1 0 12 10 0 1 2 6 5 4 5 6 7 1 1 1 1 1 9 7 6 2 5 0 0 1
%为列:(i)和第四和第五列和(2)删除其中一个总结列
% - - >这是所需的输出
x3 = [x2 (: 1:3), x2 (:, 4) + x2 (:, 5), x2 (:, 6)]
x3 = 5×5
1 0 5 8 0 12 10 0 3 5 6 5 6 8 1 1 1 1 5 0 0 1 13 13 2
1评论
Kymberly
Kymberly 2022年12月5日
同样的东西,只是在“输入2”添加更复杂的方式:
%输入1
x1 = [1 0 5 7 1 0
3 2 0 1 2 0
9 8 0 0 0 6
5 5 6 7 1 1
1 1 1 9 4 5
0 0 1 7 6 2]
x1 = 6×6
1 0 5 7 1 0 3 2 0 1 2 0 9 8 0 0 0 6 5 4 5 6 7 1 1 1 1 1 9 7 6 2 5 0 0 1
%输入2
r = 2;
c = 4;
% (i)和第二和第三行和(2)删除两个总结行之一
x2 = vertcat (x1 (1: r1,:), x1 (r:) + x1 (r + 1,:), x1 (r + 2:最终,:))
x2 = 5×6
1 0 5 7 1 0 12 10 0 1 2 6 5 4 5 6 7 1 1 1 1 1 9 7 6 2 5 0 0 1
% (i)和第四和第五列和(2)删除两个总结中的一个列
x3 = (x2(: 1:颈- 1),x2 (:, c) + x2 (:, c + 1), x2 (:, c + 2:结束)
x3 = 5×5
1 0 5 8 0 12 10 0 3 5 6 5 6 8 1 1 1 1 5 0 0 1 13 13 2

登录置评。

接受的答案

大卫。马塞罗说道
大卫。马塞罗说道 2022年12月5日
你已经很紧凑。也许你想避免连接。
然后,你可以试试这个。
x1 = [1 0 5 7 1 0
3 2 0 1 2 0
9 8 0 0 0 6
5 5 6 7 1 1
1 1 1 9 4 5
0 0 1 7 6 2];
r = 2;
c = 4;
x1 (r) = x1 (r:) + x1 (r + 1:);x1 (r + 1) = []
x1 = 5×6
1 0 5 7 1 0 12 10 0 1 2 6 5 4 5 6 7 1 1 1 1 1 9 7 6 2 5 0 0 1
x1 (:, c) = x1 (:, c) + x1 (:, c + 1);x1 (:, c + 1) = []
x1 = 5×5
1 0 5 8 0 12 10 0 3 5 6 5 6 8 1 1 1 1 5 0 0 1 13 13 2

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!