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 に答える