长风 发表于 2013-4-29 22:43

matlab数据存储位置怎么控制

我需要这样的运算,多次计算参数值,把每个参数值储存在excel文件的一列中,下次运算后,新的参数值保存在同一列。

代码
x = 1:3;y=7:9;
fid = fopen('exp.xls', 'at+');
fprintf(fid, '%d %d\n', x,y);
fclose(fid);
实际结果如图“1实际结果”,我希望的是如图“2希望结果”,如果三次运行此代码,希望结果如图“3希望重复运行结果”
应该怎么修改代码?

ChaChing 发表于 2013-4-29 23:20

储存在excel文件, 不是可以使用xlswrite!?

长风 发表于 2013-4-30 22:16

本帖最后由 长风 于 2013-4-30 22:20 编辑

ChaChing 发表于 2013-4-29 23:20 static/image/common/back.gif
储存在excel文件, 不是可以使用xlswrite!?
你好!
你好,这个xlswrite没法持续保存啊。
fid = fopen('exp.xls', 'a+');
xlswrite(' exp.xls ', )
fclose(fid);
这个,我想每次都是在上次记录基础上继续存储数据。
但这代码运行结果是,每次都会把以前的覆盖掉,不能能续(a+不就是保证持续记录的吗?)就是是说,这代码运行3次后,我希望是如图1,但实际如图2

长风 发表于 2013-4-30 22:22

本帖最后由 长风 于 2013-4-30 22:40 编辑

xlswrite了,但没法持续记录。fprint没法分开。。。
我的运算要好多天,能记录到一个excel中,全部完成后计算,所以需要每个数据是分开的,持续记录的。我考虑过这样,有没有方法找到第一个为空白的单元格。这样通过指定存储位置来把新数据存储到下面的空白处。有这样的方法吗

bainhome 发表于 2013-4-30 23:30

本帖最后由 bainhome 于 2013-5-1 09:46 编辑

这就是不仔细读帮助乱用命令的结果,xlswrite和fopen风马牛不相及,怎么能放在一起?更不用提把fprintf底层write命令中的相关参数往xlswrite里张冠李戴地瞎套了。 arrayfun(@(i) xlswrite('testdata.xlsx',rand(1,5),1,['A',num2str(i)]),1:3)pos的后移位置用size命令算,想过多少空行都行。
你用循环即可,arrayfun只为观感简洁。

ChaChing 发表于 2013-5-1 00:21

长风 发表于 2013-4-30 22:16 static/image/common/back.gif
你好!
你好,这个xlswrite没法持续保存啊。
fid = fopen('exp.xls', 'a+');


xlswrite没法持续保存
真的仔细读下帮助吧!

另LZ出现一个通病, 只想到一定要如何做, 但好像忘了可能有许多方式可达相同目标!
如简单使用save不就有append功能了! 若一定得输出至excel再一次解决
页: [1]
查看完整版本: matlab数据存储位置怎么控制