【发布时间】:2018-06-25 16:00:29
【问题描述】:
我在 MATLAB 中有一个像这样的简单二维矩阵:
A = [34 10;
23 10;
64 10];
我需要做的是找到max(A(:,1)),然后while A(j,1) < max(A(:,1)) 将[A(j,1)+1 10] 之类的行添加到矩阵中,所以我想最终得到这个:
A = [34 10;
35 10;
36 10;
37 10;
.
.
.
62 10;
63 10;
64 10;
.
23 10;
24 10;
25 10;
.
.
.
62 10
63 10
64 10
.
64 10];
我已经写了以下,但它不起作用:
for j = 1:size(A,1)
while A(j,1) < max(A(:,1))
A(end+1,:) = [A(j,1)+1 10];
end
end
有什么想法可以做到吗?
【问题讨论】:
-
“我已经写了以下内容,但它不起作用”。没有
-
准确完整地描述循环的作用以及为什么它与您想要的输出不同。不要指望其他人运行您的代码来找出您的实际问题。如果您的问题描述是“它不起作用”,那么您的问题在 99% 的情况下都是错误的。
-
如果 max 不是最后一行,这个模式在 max 行之后的行继续吗?
-
感谢您的建设性评论@MadPhysicist
标签: matlab for-loop while-loop