How to embed (insert) variable's that old strings or integers into line of code (%d?)

2 Ansichten (letzte 30 Tage)
לק"י
Hi guys,
I want to use variable's content (like v='name' or b=2.34) to be part of the code it's kind of like %d but as far as I understood it is not quiet like it. i'll explain:
Lets assume I want the code to automatically save figures or run for different inputs and want it to be done with replacing specific regions of the code with the different names of files ot inputs like this:
name='name_I_want' %name I want
b=231 %number I want
xnm=PA 'insert_name/integer_here' dirf(:,1);
ynm=PA 'insert_name/integer_here' dirf(:,2);
figure(1)
scatter(xnm,ynm, 1, 'filled');
title(' 'insert_name/integer_here' cell 2, XY scatter whole cell')
xlabel('nm')
ylabel('nm')
The lines i'm interested to insert\embed the new name\number are:
xnm=PA'insert_name/integer_here'dirf(:,1);
ynm=PA'insert_name/integer_here'dirf(:,2);
title(''insert_name/integer_here'cell 2, XY scatter whole cell')
I tried %d but I saw it only works with sprintf which is a variable of itself and not a way to 'intefere' with the code.
Thanks!
Amit.
  2 Kommentare
Stephen23
Stephen23 am 25 Aug. 2021
Bearbeitet: Stephen23 am 26 Aug. 2021
Before forcing yourself into writing slow, complex, very inefficient, obfuscated code like that, you should read this:
Numbering variables like that indicates that you are doing something wrong.
Forcing meta-data (e.g. pseudo-indices) into variable names indicates that you are doing something wrong.
Meta-data is data and so should be stored in arrays (not in array names), which will make accessing your (meta-)data much simpler and more efficient. For the data that you have shown, a table might be a suitable array type:

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by