Create an array of strings

44 views (last 30 days)
Viesturs Veckalns
Viesturs Veckalns on 21 Oct 2017
Edited: Viesturs Veckalns on 21 Oct 2017
I try to create an array of strings
fruit = ['apple', 'cherry']
What modifications are needed so that fruit(2) is 'cherry' not 'p'?
UPDATE
Following the two first answers to this question I created a case:
style = {'.blue', '.red'};
f1 = figure;
for theta = (0:0.1:1)*pi
for ind = 1:2
figure(f1);
plot(theta, cos(theta + pi*ind), style(ind)); hold on;
end
end
The code does not accept style(ind) as an argument. The error message is
Error using plot
Invalid first data argument
  2 Comments
per isakson
per isakson on 21 Oct 2017
Edited: per isakson on 21 Oct 2017
"does not accept style(ind) as an argument" That's because it is a cell array of strings, not a character string. I guess the error message said so.
Replace
style(ind)
by
style{ind}
with curly braces.

Sign in to comment.

Accepted Answer

per isakson
per isakson on 21 Oct 2017
Edited: per isakson on 21 Oct 2017
>> fruit = {'apple', 'cherry'}
fruit =
'apple' 'cherry'
with curly braces creates a cell array of strings. I use R2016a. The display format for cell arrays has been changed. And to reference one of the strings
>> fruit{2}
ans =
cherry
See Create Cell Array. Note the links at the bottom of the page.

More Answers (1)

Birdman
Birdman on 21 Oct 2017
fruit = ['apple,cherry'];
fruit=strsplit(fruit,',');
disp(fruit(2))

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!