celestialgod

matlab_regexp_rename_variable

Mar 27th, 2015
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.61 KB | None | 0 0
  1. for i = 1:26
  2.     for j = 1:4
  3.         switch j
  4.             case 1
  5.                 suffix = 'aa';
  6.             case 2
  7.                 suffix = 'bb';
  8.             case 3
  9.                 suffix = 'st';
  10.             case 4
  11.                 suffix = 'mm';
  12.         end
  13.     eval(['qqq', num2str(i), suffix, '= i*j;']);
  14.     end
  15. end
  16.  
  17. for i = 1:41
  18.     for j = 1:4
  19.         switch j
  20.             case 1
  21.                 suffix = 'aa';
  22.             case 2
  23.                 suffix = 'bb';
  24.             case 3
  25.                 suffix = 'st';
  26.             case 4
  27.                 suffix = 'mm';
  28.         end
  29.     ii = i^2-i+5;
  30.     eval(['L', num2str(ii), suffix, '= ii-j;']);
  31.     end
  32. end
  33.  
  34. variable_names = who;
  35. for i = 1:size(variable_names, 1)
  36.     out1 = regexp(variable_names{i}, 'L(\d*)([a-z]{2})','tokens');
  37.     out2 = regexp(variable_names{i}, 'qqq(\d*)([a-z]{2})','tokens');
  38.     if ~isempty(out1)
  39.         switch char(out1{1}(2))
  40.             case 'aa'
  41.                 prefix = 'a';
  42.             case 'bb'
  43.                 prefix = 'b';
  44.             case 'st'
  45.                 prefix = 'c';
  46.             case 'mm'
  47.                 prefix = 's';
  48.         end
  49.         eval([prefix, char(out1{1}(1)), '=', variable_names{i}, ';']);
  50.     elseif ~isempty(out2)
  51.         switch char(out2{1}(2))
  52.             case 'aa'
  53.                 prefix = 'a';
  54.             case 'bb'
  55.                 prefix = 'b';
  56.             case 'st'
  57.                 prefix = 'c';
  58.             case 'mm'
  59.                 prefix = 's';
  60.         end
  61.         eval(['L', prefix, char(out2{1}(1)), '=', variable_names{i}, ';']);
  62.     else
  63.         continue
  64.     end
  65. end
Advertisement
Add Comment
Please, Sign In to add comment