嗨这是一个关于Matlab如何显示某些变量的问题,具体取决于所包含的维数。当我生成randn(10,2)
时,我在工作区窗口中得到一个10X2表,很容易直接从这里复制粘贴到excel。但是,当我执行randn(10,2,1)
时,Matlab会在工作区中创建一个看起来像文本文件的东西。例如,当您randn(1000,2,1)
时,复制数据可能很痛苦。为什么Matlab会这样做?
对于上下文 - 我想“预生成”(如果有这样一个词)一组随机数用于多个资产和多个模拟;因此我正在使用randn(NumSteps,NumAssets,NumSimulations)
。我相信有更好的方法可以做到这一点...所以建议总是受到赞赏。
答案 0 :(得分:0)
在我看来,xlswrite
可以解决您的问题。
试试这个:
clc; clear;
%%Generate Data
NumSteps=10; NumAssets=10; NumSimulations=5;
RandData=randn(NumSteps,NumAssets,NumSimulations);
%%Output Data into a Excel File
for i=1:NumSimulations
xlswrite('Data.xls',RandData(:,:,i),['Sheet',num2str(i)])
end;
更改变量的值,我们可以在NumSimulation
到NumSteps x NumAssets
中使用sheet1
SheetN
矩阵。