Change variable name in plot

3 次查看(过去 30 天)
Gabriele Curcio
Gabriele Curcio2022-5-5
编辑: Stephen23 ,2022-5-5
I have these variables as a double:
time; run_0; run_1; run_3; ...; run_23
how can I plot them without rewriting everytime the function plot?
The idea is:
for i = 0:23
plot(time, run_i); %index 'i' to change dynamically
hold on
end
I do not know how to write the index 'i'.
  7 个评论
Gabriele Curcio
Gabriele Curcio 2022-5-5
Ok, I manage to get the expected result! Thank you very much

请先登录,再进行评论。

回答(1 个)

Constantino Carlos Reyes-Aldasoro
As mentioned before, this is not the best way to handle your data, BUT you are where you are, so to be able to use the names run_0, run_1, etc you need to concatenate strings:
for i =0:10
name = strcat('run_',num2str(i))
end
name = 'run_0'
name = 'run_1'
name = 'run_2'
name = 'run_3'
name = 'run_4'
name = 'run_5'
name = 'run_6'
name = 'run_7'
name = 'run_8'
name = 'run_9'
name = 'run_10'
Further, do not use i for a counter, i can be used for imaginary numbers, better to use a sensible name like "counterRuns" or something that has a meaning.
Hope this solves your problem
  1 个评论
Stephen23
Stephen23 2022-5-5
"...you need to concatenate strings"
A more efficient approach is to use SPRINTF:
sprintf('run_%d',i)
or use the STRING class:
"run_" + i

请先登录,再进行评论。

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by