Passing variables in string under for loop.

10 views (last 30 days)
Paramjit Yadav
Paramjit Yadav on 11 Aug 2021
Edited: the cyclist on 11 Aug 2021
Hello,
I am trying to run the below code. Here I am passing the string with i and j as variable but it is not taking i and j as variable and showing errors.
Can some please help by saying how to do indexing with in a string and pass the values of i and j in the string in for loop as variable.
for j = 1:12
for i = 1:12
lt.Cmd('AddPickup "SPLINEPATCH_LENS_SURFACE[LensRearSurface].ZValueAt[i][j]"')
end
end
Thank you so much for reading my querry.
Regards
Paramjit

Answers (1)

the cyclist
the cyclist on 11 Aug 2021
Edited: the cyclist on 11 Aug 2021
You need to convert the numeric values in the loops into strings. Here is how to construct the string to pass into lt.Cmd:
i = 1; % Using just a couple specific values, instead of the whole loop, just to illustrate one case
j = 2;
strcat('AddPickup "SPLINEPATCH_LENS_SURFACE[LensRearSurface].ZValueAt[',num2str(i),'][',num2str(j),']"') % You would pass this string into lt.Cmd
ans = 'AddPickup "SPLINEPATCH_LENS_SURFACE[LensRearSurface].ZValueAt[1][2]"'
The idea here is that I am creating strings out of i and j, and then concatenating all of the strings together into the one long string you need.

Community Treasure Hunt

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

Start Hunting!