0

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

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

是否有一种方法可以简化以下内容,因此不需要 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
4

2 回答 2

3

使用带有语法的 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
于 2012-10-10T00:28:38.913 回答
2

试试这个

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,因此它可能无法按您的意愿工作。

于 2012-10-10T00:30:12.283 回答