Passing variables in string under for loop.

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

답변 (1개)

the cyclist
the cyclist 2021년 8월 11일
편집: the cyclist 2021년 8월 11일
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.

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2021년 8월 11일

편집:

2021년 8월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by