如何在程序中定义个动态的文件名称,以便动态存储数据
%已有up,ul,ut三个矩阵变量for i=1: 24
p(:,1)=up(:,i);
p(:,2)=ul(:,i);
p(:,3)=ut(:,i);
%这里我想将数据重新组织存储到多个文件中
filename=['t',int2str(i)];
save filename p;%??这里表达上述这种意思,但语法肯定是错误的
end
如上所示,如何能在matlab中定义动态的变量名称呢? 用eval语句应该可以 请说明你所说的“动态的变量名称”值得是哪个? 谢谢各位的回答,我将程序按照各位的意见更改了一下,如下:
up=;
ul=;
ut=;
for i=1: 3
pp(:,1)=up(:,i);
pp(:,2)=ul(:,i);
pp(:,3)=ut(:,i);
tstr = ['t', int2str(i),'=pp'];
eval(tstr);
end
save pjm_0102_t.mat t1 t2 t3;%这样可以将t1-t3存入文件
但如何使用 for 循环来将最后一句改掉呢?
不要程序将t1 t2 t3写死,而是根据i来自动生成?
谢谢。 看看是不是这个样子?
up=;
ul=;
ut=;
for i=1: 3
pp(:,1)=up(:,i);
pp(:,2)=ul(:,i);
pp(:,3)=ut(:,i);
% pp已经是数据文件,就不用再eval了
save(['文件' num2str(i) '.txt'],'pp','-ascii');
end
本帖最后由 zhong124 于 2013-3-2 13:46 编辑
Tla 发表于 2006-11-23 18:41 http://www.chinavib.com/static/image/common/back.gif
看看是不是这个样子?
页:
[1]