Add text to string in for-loop
49 次查看(过去 30 天)
显示 更早的评论
Hi,
I would like to add text to a string in a for-loop.
In the end the string should be: str= X(1)+X(2)+X(3)+X(4)....+X(150).
This is my code:
counter = 1;
for i= 1:150
if counter == 1
str= sprintf(' X(%04d) ',i);
else
str= sprintf(' + X(%04d) ',i);
end
counter= counter + 1;
end
However, this results in str= " +X(150)" only instead of the entire sequence.
Can anyone help me with this?
0 个评论
采纳的回答
Adam
2016-12-2
编辑:Adam
2016-12-2
You need to concatenate( in the else as you currently have it):
str = [str sprintf(' + X(%04d) ',i)];
Why do you have the counter variable though? You already have a loop variable i that can do this. Though personally I would initialise the string with the unique first case outside of the loop. There's no need to test whether you are on the 1st iteration every single iteration of the loop when you know for sure it will only be true the first time. The performance cost is minimal here, but still, you don't want to do things in a loop that don't need to be done in a loop, as general good practice.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!