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 comentarios

EmirBeg
EmirBeg el 5 de Mayo de 2021
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.
Lukas Netzer
Lukas Netzer el 5 de Mayo de 2021
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? -->:
Lukas Netzer
Lukas Netzer el 5 de Mayo de 2021
Allready got it! I did it with find and replace ;))

Iniciar sesión para comentar.

 Respuesta aceptada

David Hill
David Hill el 5 de Mayo de 2021
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

Más respuestas (0)

Productos

Versión

R2021a

Preguntada:

el 5 de Mayo de 2021

Comentada:

el 5 de Mayo de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by