Image MATLAB中xlswrite命令使用中的问题
我必须为多个图像运行代码,并比较所有图像的输出。对于运行多个图像,我遵循了此链接中给出的想法: 它工作得很好。现在,我必须将所有图像的结果导出到excel文件中。为此,我在MATLAB中使用xlswrite命令。我面临的问题是,输出在excel文件中的同一位置被覆盖,因此在模拟结束时,我只有一个输出保存在excel文件中。将第一个图像的结果写入excel文件后,应将下一个图像的结果写入下一个位置,依此类推。我不能这样做。请帮我做这个 我使用的代码: 我的代码的最后五行: 如果需要,我将提供我的完整代码。请帮帮我,我是MATLAB新手试试看 另一个选项是附加到数据,并在循环外部调用Image MATLAB中xlswrite命令使用中的问题,image,matlab,Image,Matlab,我必须为多个图像运行代码,并比较所有图像的输出。对于运行多个图像,我遵循了此链接中给出的想法: 它工作得很好。现在,我必须将所有图像的结果导出到excel文件中。为此,我在MATLAB中使用xlswrite命令。我面临的问题是,输出在excel文件中的同一位置被覆盖,因此在模拟结束时,我只有一个输出保存在excel文件中。将第一个图像的结果写入excel文件后,应将下一个图像的结果写入下一个位置,依此类推。我不能这样做。请帮我做这个 我使用的代码: 我的代码的最后五行: 如果需要,我将提供我的完
xlswrite
。试试看
另一个选项是附加到数据,并在循环外部调用
xlswrite
。它总是写入相同位置的原因是您总是为它提供相同的单元格引用'E1'
。您需要按照OP的建议,使用专门的xls追加脚本,或者更改循环中的单元格引用,或者一次写入全部内容
示例:
在循环中写入:
xlStartColStr = 'E';
xlStartRow = 1;
for myIndex = 1:something
% Do your stuff...
try
ex = {...};
xlStartRow = myIndex;
cellRef = [xlStartColStr num2str(xlStartRow)];
xlswrite('output.xls', ex, 'SBF', cellRef);
catch err
error([mfilename ':ErrorSavingFile'], ...
'Could not save file for image %g : %s', myIndex, err.message);
end
end
或者一次写下:
allMyData = {};
for myIndex = 1:something
% Do your stuff...
ex = {...};
allMyData = [allMyData; ex];
end
cellRef = 'E1';
try
xlswrite('output.xls', allMyData, 'SBF', cellRef);
catch err
error([mfilename ':ErrorSavingFile'], ...
'Could not save file for images : %s', err.message);
end
循环中的
try…catch
版本可以在出现故障时为您提供额外的信息,但在非循环版本中执行此操作仍然是一个好主意,因此我也将其包含在其中。第一种方法能够保存部分数据,即使其余数据不是有效的forxlsread
(只需将错误更改为警告或某种日志消息),但速度会较慢 它总是写入同一位置的原因是您总是为它提供相同的单元格引用'E1'
。您需要按照OP的建议,使用专门的xls追加脚本,或者更改循环中的单元格引用,或者一次写入全部内容
示例:
在循环中写入:
xlStartColStr = 'E';
xlStartRow = 1;
for myIndex = 1:something
% Do your stuff...
try
ex = {...};
xlStartRow = myIndex;
cellRef = [xlStartColStr num2str(xlStartRow)];
xlswrite('output.xls', ex, 'SBF', cellRef);
catch err
error([mfilename ':ErrorSavingFile'], ...
'Could not save file for image %g : %s', myIndex, err.message);
end
end
或者一次写下:
allMyData = {};
for myIndex = 1:something
% Do your stuff...
ex = {...};
allMyData = [allMyData; ex];
end
cellRef = 'E1';
try
xlswrite('output.xls', allMyData, 'SBF', cellRef);
catch err
error([mfilename ':ErrorSavingFile'], ...
'Could not save file for images : %s', err.message);
end
循环中的
try…catch
版本可以在出现故障时为您提供额外的信息,但在非循环版本中执行此操作仍然是一个好主意,因此我也将其包含在其中。第一种方法能够保存部分数据,即使其余数据不是有效的forxlsread
(只需将错误更改为警告或某种日志消息),但速度会较慢 非常感谢你帮助我。你救了我的命,非常感谢你帮我。你救了我的命。谢谢你,我也会试试这个。谢谢你,我也会试试这个