如何在每次程序执行时将数据写入MATLAB中的excel,并将以前的结果保存在以前的列中
我的实际代码由一个函数组成,该函数接受5个参数,并在数组中返回14个值,与此处发布的代码类似。我的问题是,每次运行调用了calculate函数的程序时,它都会从第4行开始将数据写入C列的test.xlsx文件,但它会覆盖先前从C4存储的计算数据。我希望当主程序第二次运行时,数据应该从D列和第4行写入,第三次写入E4,以此类推。请帮助我找到一个解决方案。如果您可以传递一个计算写入的列数的变量,您可以如下操作:如何在每次程序执行时将数据写入MATLAB中的excel,并将以前的结果保存在以前的列中,matlab,Matlab,我的实际代码由一个函数组成,该函数接受5个参数,并在数组中返回14个值,与此处发布的代码类似。我的问题是,每次运行调用了calculate函数的程序时,它都会从第4行开始将数据写入C列的test.xlsx文件,但它会覆盖先前从C4存储的计算数据。我希望当主程序第二次运行时,数据应该从D列和第4行写入,第三次写入E4,以此类推。请帮助我找到一个解决方案。如果您可以传递一个计算写入的列数的变量,您可以如下操作: function []=calculate(a,b,c,d) calculation
function []=calculate(a,b,c,d)
calculation(1)=a*b;
calculation(2)=a+b+c+d;
calculation(3)=a*b*c*d;
calculation(4)=(a+b)-(c+d);
calculation = calculation'; %transpose of calculation array
excelfile= 'test.xlsx';
xlswrite(excelfile,calculation,'C4');
end
如果您想有超过26列,您只需添加一个if-else来确定是否添加另一个字母
如果你不能使用计数器,就写一个响应
我希望这有帮助,巴勃罗干杯
function [] = calculate(a,b,c,d,counter)
stringvect = ('A':'Z');
posColumn = [stringvect(counter) '4'];
calculation(1)=a*b;
calculation(2)=a+b+c+d;
calculation(3)=a*b*c*d;
calculation(4)=(a+b)-(c+d);
calculation = calculation'; %transpose of calculation array
excelfile = 'test.xlsx';
xlswrite(excelfile,calculation,posColumn);
end