Simple data conversion help needed

2 views (last 30 days)
Tom
Tom on 18 Feb 2014
Commented: Tom on 18 Feb 2014
Hello,
This is probably very simple.
Can anyone tell me where I'm going wrong when using strcmp:
I have this user input:
former = input('Enter the former','s')
To which the response will be something like: Si4+
I then am trying to seek and utilise instances of that user input, Si4+ like such:
if strcmp(atom_type(i),'former')
form(i,:) = x(i,:);
where atom_type is labelled as a cell containing instance of Si4+ and others.
However this doesn't work. It did however work when instead of 'former' in the strcmp part I explicitly write 'Si4+', so clearly there is some data conversion needed.
I thought
former = cellstr(former)
would work, but alas no.
Can anyone help?
Kind regards,
Tom

Accepted Answer

Image Analyst
Image Analyst on 18 Feb 2014
Don't put quotes around former in strcmp(). You might also want to use strcmpi instead. Also, to convert a cell to a character string, use char.
former = char(format); % Convert cell to string.
What is the type of atom_type(i)? Is it a cell? If so, you might need to get the contents of the cell instead of the cell itself by using braces: atom_type{i} or just pass it into char: char(atom_type(i)).

More Answers (0)

Community Treasure Hunt

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

Start Hunting!