【发布时间】:2013-04-07 19:37:38
【问题描述】:
我有一个矩阵 A
1 1 0 0
0 1 0 0
1 0 0 1
0 0 1 0
0 0 0 0
0 1 1 1
1 1 0 0
1 0 0 0
0 0 0 1
我希望根据用户的输入分割这个矩阵,比如d = [1 2 3].
for i=2:length(d)
d(i) = d(i) + d(i-1); % d = [1 3 6]
end
这给出了d = [1 (1+2) (1+2+3)] = d[1 3 6]。这个矩阵有9行,计算[(1/6)*9]、[(3/6)*9]和[(6/6)*9]中的ceil。因此这给出了[2 5 9]. 第一次拆分是前两行,第二次拆分是接下来的 (5-2=3) 3 行,第三次拆分是 (9-5=4) 4 行。
输出应该是这样的:
拆分为:第一次拆分->
1 1 0 0 % first 2 rows in matrix A
0 1 0 0
第二次分手->
1 0 0 1 % next 3 rows
0 0 1 0
0 0 0 0
第三次分手->
0 1 1 1 % next 4 rows
1 1 0 0
1 0 0 0
0 0 0 1
【问题讨论】:
-
听起来你已经有了一些可以工作的东西。有什么问题/疑问?
-
您想高效完成这项工作吗?
-
@gevang- 我想在命令窗口中显示输出。这可能吗?
-
只需输入您要显示的条目,即
B{1}, B{2}, B{3},或全部输入B{:}。 -
我希望它在我运行程序时自动显示在命令窗口中。