matlab - 每次程序执行时如何在MATLAB中的下一列中将数据写入excel,并将先前的结果保存在先前的列中
问题描述
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
我的实际代码由一个函数组成,该函数接受 5 个参数并在类似于此处发布的代码的数组中返回 14 个值。我的问题是,每次我运行calculate()
调用该函数的程序时,它都会将数据写入从第 4 行开始的 C 列的 test.xlsx 文件,但它会覆盖先前从 C4 存储的计算数据。我希望在第二次运行主程序时,数据应该从 D 列和 row4 写入,第三次写入 E4,依此类推。请帮我解决。
解决方案
如果您可以传递一个变量来计算写入的列数,您可以像这样进行:
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
如果您想要超过 26 列,您应该简单地添加一个 if else 来确定是否添加另一个字母。
如果你不能使用计数器,只需写一个回复。
我希望这会有所帮助,巴勃罗欢呼
推荐阅读
- javascript - 另一个 setInterval 中的 setInterval 随着时间的推移而加速
- sql - 来自字符串的 PL / SQL 字数
- pdf-generation - MigraDoc - 额外和不需要的新行
- hive - 按不可见列排列的 Hive 顺序
- batch-file - 如何通过批处理从 SAS 代码打开 SAS 文件?
- c++ - 使用 EVP_PKEY_assign_RSA() 或 EVP_PKEY_set1_RSA() 后 RSA_size() 和 EVP_PKEY_size() 的段错误
- python - 如何使用 python ubuntu 从远程服务器读取 excel 文件
- javascript - 提交失败后如何使用错误数据更新表单?
- javascript - 如何将 Fabric js 与 React Native 集成?
- android - 自 Chrome 72 以来,WebView 无法解析 SVG