2021-01-26 matlab 动态变量的生成与加载

20210126 最近用matlab时,涉及到动态变量的生成与加载,为避免每次使用都上网查找一遍,故记录下。

1.动态变量的生成

for jj = 1:10
    var_name = ['matrix_track_', num2str(jj)];eval([var_name,'=matrix_track']);
end

结果:在工作区产生 matrix_track_1, matrix_track_2,..., matrix_track_10等10个变量

2. 将生成的动态变量存储到一个.mat文件中

for jj = 1:10
    save('matrix_track.mat', ['matrix_track_' num2str(jj)], '-append');
end

结果:将变量 matrix_track_1, matrix_track_2,..., matrix_track_10等存储到文件 matrix_track.mat中

3. 动态命名变量的加载(变量本质为矩阵)

for jj = 1:30
    var_name = ['matrix_track_', num2str(jj)];
    eval(['matrix_track=', var_name]);
    matrix_morris = [matrix_morris; matrix_track];
end

结果:循环中第一行产生动态变量名,第二行引入中间变量matrix_track,将动态变量数据赋值给中间变量,第三行将所有的中间变量存储到一个总的矩阵matrix_morris中。

结果就是将30个matrix_track开头的变量合成一个matrix_morris。(举例)

第二行 与 动态变量的生成 正好时相反的。

4. 总结来说,上述容易在命令行窗口产生输出(本人并不希望),所以相比之下,还可以采用 动态文件名 来保存 相同名称的变量 。

for j = 1:10    
    file_name=['t_wa_Touch_error_new_matrix_A', num2str(j)]; % 动态变量名
    save(file_name, 't_wa_Touch_error_new_matrix_A'); % 动态存储
end

结果:产生了t_wa_Touch_error_new_matrix_A1,...,t_wa_Touch_error_new_matrix_A10等10个.mat文件,其中每个mat文件都存储着名称为t_wa_Touch_error_new_matrix_A的变量。这种方便加载。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值