如何压缩 n-1、n-2、..在 for 循环 (MATLAB) 中



我正在寻找输入条件,因为矩阵的大小每次都会减小。

试图简化我正在做的事情,看看压缩它是否可行。

有没有办法简化以下内容,因此不需要 n-1、n-2 等,并且代码可以适应输入矩阵。

a = [2 4 5 6; 7 5 3 5; 6 7 9 4];
a
n = length(a(1,:));
b = [5];
for i = n,
    a = a.*b;
    a(:,n-1)=[];
    a
    a = a.*b;
a(:,n-2)=[];
a
a = a.*b;
a(:,n-3)=[];
a
end

我希望能够在每次迭代时看到输出。例如:

a =
     2     4     5     6
     7     5     3     5
     6     7     9     4

a =
    10    20    30
    35    25    25
    30    35    20

a =
    50   150
   175   125
   150   100

a =
   750
   625
   500

将 FOR 循环与语法一起使用

for i = starting_index:increment:ending_index

从 n-1 倒计时到 1,如下所示:

for i = n-1:-1:1 % Count down from n-1 to 1
    a = a.*b;
    a(:,i)=[];
    a
end

试试这个

a = [2 4 5 6; 7 5 3 5; 6 7 9 4]
n = size(a,1);
b = [5];
for i=1:n
    a = a(:,end-1).*b
end

我现在无法访问 Matlab,所以它可能无法按您的预期工作。

最新更新