matlab 如何以动态的变量名保存变量

例如:fori=1:3savefilenamenameend如何实现变量名name随着i而变化我是想在循环中将数值存储在不同的变量中,而不是存在同一变量中,此情况会覆盖循... 例如:
for i=1:3
save filename name
end

如何实现变量名 name 随着i而变化
我是想在循环中将数值存储在不同的变量中,而不是存在同一变量中,此情况会覆盖循环中的值
展开
 我来答
老胡的数学工作室
2008-09-28 · 超过21用户采纳过TA的回答
知道小有建树答主
回答量:45
采纳率:0%
帮助的人:50.1万
展开全部
%%% =============== hujia1.m ========================
%%%
%%% 方法一 用sprintf与eval组合
%%% 可以边生成代码边执行,及其灵活
%%% 但在次数很多的循环体内部尽量不要使用
%%% 因为eval需运行时编译,速度不快

for i=3:5
s=sprintf('m%d=magic(%d);save hujia.mat m%d;',i,i,i); % 对i的每个取值生成一行不同的代码
eval(s); % 执行生成的代码
end

%%% =============== hujia2.m ========================
%%% 方法二 用函数的方式使用save就行了
%%% 在matlab里,像save,print等都有两种使用方式:
%%% 函数形式: save(filename,varname)
%%% 例:x1=rand(3,3);save('hujia.mat','x1');
%%%
%%% 命令形式: save filenam varname
%%% 例:x1=rand(3,3);save 'hujia.mat' x1

m=[];
for i=3:5
m(i)=magic(i);
s=sprintf('m(%d)',i);%生成变量名
save('hujia.mat',s);
end

%%% ================================================
freebean
2008-09-25 · TA获得超过503个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:246万
展开全部
for i=1:3
x=i;
save vars.mat x;
end

我试了下,vars.mat中保存的x就是3,其实是经过了三个循环,第一次x保存的是1,第二次是2,循环结束,保存最后一个值3,这样保存的值就随着i的动态变化而变化了.

不知你要的是不是这结果.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式