Rerun script with different table input

Hey,
I wrote quite a long script, that uses table data, like so:
Location = table1.Location;
Is there a way to replace "table1" in all lines of the script and replace it e.g. with table2? To get:
Location = table2.Location;
Additionally I'm relying on tablesizes in my script (probably not a good way to do that) but I manually entered e.g.:
sh(1:2734) = sh;
where (1:2734) represents the table size. Is there a way to have the following?
sh("tablesize") = sh
Thanks for your help!

3 Comments

As David already said try to index your code.
Anyways, if you want to change the name of a variable in the whole script once (maybe because you simply just want another name for it), you can also just change the name and then you will see that a little message like this pops up.
By pressing Shift and Enter Matlab changes every variable in the code for you. It's the same as the old fashioned Ctrl+F - Find & Replace.
Maybe it will be helpful one day.
Hey Emir,
thanks for your response, this is actually something I need right now but I do not get that pop-up when replacing table1 with t{n}.. Maybe I can do it with one of those options? -->:
Allready got it! I did it with find and replace ;))

Sign in to comment.

 Accepted Answer

You should always attempt to index. Put all your tables into a single cell array.
t{1}=table1;
t{2}=table2;
%then index into t
n=2;
Location=t{n}.Location;
sh(size(t{n}))=sh;%not sure what you are using this for, but size() gives the size of the table

More Answers (0)

Products

Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!