0

これは私のコードの一部です。

a = 0;
for i = -3:3
    for j = 1:10
        a(j) = j^i;
    end
    xlswrite('out.xls', a','A1')
end

aここでは、ファイル内の最後の値のみを取得していout.xlxます。しかし、ファイルの連続する列ののa各反復の値を入力したいと思います。助言がありますか ? 更新 次のような出力が必要です:-iExcel

1.0000   1.0000   1.0000   1  .....
0.1250   0.2500   0.5000   1  .....
0.0370   0.1111   0.3333   1  .....
0.0156   0.0625   0.2500   1  .....
0.0080   0.0400   0.2000   1  .....
0.0046   0.0278   0.1667   1  .....
0.0029   0.0204   0.1429   1  .....
0.0020   0.0156   0.1250   1  .....
0.0014   0.0123   0.1111   1  .....
0.0010   0.0100   0.1000   1  .....

等々....

4

2 に答える 2

1

2D マトリックスの代わりに 1D ベクトルを作成しました。これはうまくいくはずです:

a = 0;
for i = -3:3
    for j = 1:10
        a(j,i+4) = j^i;
    end
    xlswrite('out.xls', a',['A' num2str(i+4) ':J' num2str(i+4)])
end

さらに良い解決策は、すべてをベクトル化することです。

[X,Y] = meshgrid(-3:3,1:10)
a = X.^Y
xlswrite('out.xls', a','A1:J7')

@EitanT、@HighPerformanceMark: コメントを反映するように回答を変更しました。今日は私の日ではないと思います-4回編集しました:)

于 2013-03-06T16:57:14.723 に答える
0

セル A1 に値 a を入力しています。したがって、配列の最後の値のみを取得していaます。完全な配列を入力するには、範囲全体を指定する必要があります。

このようなことを試してください:

 xlswrite('out.xls', a','A1:J1') 

お役に立てば幸いです。

于 2013-03-06T16:52:40.577 に答える