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

3 次查看(过去 30 天)
לק"י
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 个评论
Stephen23
Stephen23 2021-8-25
编辑:Stephen23 2021-8-26
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:

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by