Database 无法在EXCEL中打印新行中的MATLAB数据
我试图让这些数据在每次得到结果时都显示在一个新行中。然而,到目前为止,我在Excel中只得到一行 -->我想我不能做的是,一旦输入/写入一个数据点,matlab需要自动转到下一行/行。。。它目前没有这样做 感谢您的帮助Database 无法在EXCEL中打印新行中的MATLAB数据,database,excel,matlab,output,Database,Excel,Matlab,Output,我试图让这些数据在每次得到结果时都显示在一个新行中。然而,到目前为止,我在Excel中只得到一行 -->我想我不能做的是,一旦输入/写入一个数据点,matlab需要自动转到下一行/行。。。它目前没有这样做 感谢您的帮助 图形; 价格_pred=零(大小(价格)); 价格_pred(750)=价格(750); 时间=15000; 对于t=750:长度(价格)-1 价格180=价格(t-179:t); 价格360=价格(t-359:t); 价格720=价格(t-719:t); dp=θ0+θ(1)
图形;
价格_pred=零(大小(价格));
价格_pred(750)=价格(750);
时间=15000;
对于t=750:长度(价格)-1
价格180=价格(t-179:t);
价格360=价格(t-359:t);
价格720=价格(t-719:t);
dp=θ0+θ(1);
价格_pred(t+1)=价格(t)+dp;
如果(t-750<时间显示)
x1=0:t-750;
y1=价格(750:t);
x2=0:t-749;
y2=价格(750:t+1);
结束
如果(t-750>时间显示)
x1=0:时间显示;
y1=价格(t时间显示:t);
x2=0:时间显示+1;
y2=价格与预测(t时间与显示:t+1);
结束
图(x1,y1,'b*',x2,y2,'m*');
现在抽;
部门主管(价格(t+1));
价格(t);;
disp(dp);
如果(T>750)
T={T;表(价格pred(T),价格(T),dp)};
其他的
T=表(价格、价格(T)、dp);
结束
文件名='test.csv';
可写(T,文件名);
编写Excel的简单方法是使用单元格数组和xlswrite
命令
对于下面给出的变量,其步骤如下
变量:
eventDate = [{'2016-02-10'};{'2016-02-11'};{'2016-02-12'}];
eventTime = [931;931;1600];
eventValue = [{'open'};{'open'};{'close'}];
xlsDir = 'c:\xls\';
xlsFilename = [xlsDir,'output.xls'];
1) 预先分配单元阵列:
nevent = length(eventTime);
xxcell = cell(nevent+1,3);
irow = 1; icol = 1;
xxcell{irow,icol} = 'Date'; icol = icol + 1;
xxcell{irow,icol} = 'Time'; icol = icol + 1;
xxcell{irow,icol} = 'Value'; icol = icol + 1;
for ievent = 1:nevent
irow = ievent + 1; icol = 1;
xxcell{irow,icol} = eventDate{ievent}; icol = icol + 1;
xxcell{irow,icol} = eventTime(ievent); icol = icol + 1;
xxcell{irow,icol} = eventValue{ievent}; icol = icol + 1;
end
2) 为单元格阵列创建标题线:
nevent = length(eventTime);
xxcell = cell(nevent+1,3);
irow = 1; icol = 1;
xxcell{irow,icol} = 'Date'; icol = icol + 1;
xxcell{irow,icol} = 'Time'; icol = icol + 1;
xxcell{irow,icol} = 'Value'; icol = icol + 1;
for ievent = 1:nevent
irow = ievent + 1; icol = 1;
xxcell{irow,icol} = eventDate{ievent}; icol = icol + 1;
xxcell{irow,icol} = eventTime(ievent); icol = icol + 1;
xxcell{irow,icol} = eventValue{ievent}; icol = icol + 1;
end
3) 将数据添加到单元格数组:
nevent = length(eventTime);
xxcell = cell(nevent+1,3);
irow = 1; icol = 1;
xxcell{irow,icol} = 'Date'; icol = icol + 1;
xxcell{irow,icol} = 'Time'; icol = icol + 1;
xxcell{irow,icol} = 'Value'; icol = icol + 1;
for ievent = 1:nevent
irow = ievent + 1; icol = 1;
xxcell{irow,icol} = eventDate{ievent}; icol = icol + 1;
xxcell{irow,icol} = eventTime(ievent); icol = icol + 1;
xxcell{irow,icol} = eventValue{ievent}; icol = icol + 1;
end
4) 写入Excel:
try
xlswrite(xlsFilename, xxcell);
catch
disp('xlswrite error');
end
我还没有尝试过使用
writetable
命令,但这种方法已经足够好了。编写Excel的简单方法是使用单元格数组和xlswrite
命令
对于下面给出的变量,其步骤如下
变量:
eventDate = [{'2016-02-10'};{'2016-02-11'};{'2016-02-12'}];
eventTime = [931;931;1600];
eventValue = [{'open'};{'open'};{'close'}];
xlsDir = 'c:\xls\';
xlsFilename = [xlsDir,'output.xls'];
1) 预先分配单元阵列:
nevent = length(eventTime);
xxcell = cell(nevent+1,3);
irow = 1; icol = 1;
xxcell{irow,icol} = 'Date'; icol = icol + 1;
xxcell{irow,icol} = 'Time'; icol = icol + 1;
xxcell{irow,icol} = 'Value'; icol = icol + 1;
for ievent = 1:nevent
irow = ievent + 1; icol = 1;
xxcell{irow,icol} = eventDate{ievent}; icol = icol + 1;
xxcell{irow,icol} = eventTime(ievent); icol = icol + 1;
xxcell{irow,icol} = eventValue{ievent}; icol = icol + 1;
end
2) 为单元格阵列创建标题线:
nevent = length(eventTime);
xxcell = cell(nevent+1,3);
irow = 1; icol = 1;
xxcell{irow,icol} = 'Date'; icol = icol + 1;
xxcell{irow,icol} = 'Time'; icol = icol + 1;
xxcell{irow,icol} = 'Value'; icol = icol + 1;
for ievent = 1:nevent
irow = ievent + 1; icol = 1;
xxcell{irow,icol} = eventDate{ievent}; icol = icol + 1;
xxcell{irow,icol} = eventTime(ievent); icol = icol + 1;
xxcell{irow,icol} = eventValue{ievent}; icol = icol + 1;
end
3) 将数据添加到单元格数组:
nevent = length(eventTime);
xxcell = cell(nevent+1,3);
irow = 1; icol = 1;
xxcell{irow,icol} = 'Date'; icol = icol + 1;
xxcell{irow,icol} = 'Time'; icol = icol + 1;
xxcell{irow,icol} = 'Value'; icol = icol + 1;
for ievent = 1:nevent
irow = ievent + 1; icol = 1;
xxcell{irow,icol} = eventDate{ievent}; icol = icol + 1;
xxcell{irow,icol} = eventTime(ievent); icol = icol + 1;
xxcell{irow,icol} = eventValue{ievent}; icol = icol + 1;
end
4) 写入Excel:
try
xlswrite(xlsFilename, xxcell);
catch
disp('xlswrite error');
end
我还没有尝试使用
writetable
命令,但这种方法已经足够好了。首先,由于有很多未知变量,我无法在中重现您的程序。请创建。第二,我并没有认真阅读您的内容,但您可以使用Range
参数作为表的参数。然后,您可以将表格写入工作表的特定部分。最后一个问题——你真的需要使用表格吗?为什么您不想使用xlswrite
函数?首先,由于有很多未知变量,我无法在中重现您的程序。请创建。第二,我并没有认真阅读您的内容,但您可以使用Range
参数作为表的参数。然后,您可以将表格写入工作表的特定部分。最后一个问题——你真的需要使用表格吗?为什么不想使用xlswrite
函数?