matlab 如何以动态的变量名保存变量
例如:fori=1:3savefilenamenameend如何实现变量名name随着i而变化我是想在循环中将数值存储在不同的变量中,而不是存在同一变量中,此情况会覆盖循...
例如:
for i=1:3
save filename name
end
如何实现变量名 name 随着i而变化
我是想在循环中将数值存储在不同的变量中,而不是存在同一变量中,此情况会覆盖循环中的值 展开
for i=1:3
save filename name
end
如何实现变量名 name 随着i而变化
我是想在循环中将数值存储在不同的变量中,而不是存在同一变量中,此情况会覆盖循环中的值 展开
2个回答
展开全部
%%% =============== 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
%%% ================================================
%%%
%%% 方法一 用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
%%% ================================================
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询