How can I resolve this error?
2 views (last 30 days)
Show older comments
I have written this code:
figure
name = 'cap_';
vector = {'T0' 'T1' 'T2' 'T3' 'T4' 'T5' 'T6' 'T7' T8' 'T9'};
for i=1:length(vector)
name_1 = strcat(name, vector(i));
name_1 = char(name_1);
plot(x, sscanf(name_1, '%s'), 'y');
hold on
name_1 = [];
end
When I run this code I receive this message error: There is no cap_T1 property on the Line class
If I use:
plot(x, sscanf(name_1, '%s')) I receive this other message: Error in color/linetype argument
Help me please.
Thanks
3 Comments
Answers (1)
Walter Roberson
on 30 Sep 2017
5 Comments
Walter Roberson
on 1 Oct 2017
It is better to avoid creating numbered variables and to create indexed variables instead. But if you do for some reason have numbered variables then instead of creating variable names at run-time, it is better to take the one-time hit of putting the variables together into an array and after that index the array.
frequencies = {frequency_1, frequency_2, frequency_3, frequency_4, frequency_5, frequency_6, frequency_7, frequency_8, frequency_9, frequency_10};
caps = {cap_1, cap_2, cap_3, cap_4, cap_5, cap_6, cap_7, cap_8, cap_9, cap_10};
names = cellstr( num2str((1:10).', 'line #%d') );
for K = 1 : length(frequencies)
plot(frequencies{K}, caps{K});
hold on
end
legend(names);
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!