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

您已经生成了 1D 矢量而不是 2D 矩阵。这应该有效:

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 回答