Simple data conversion help needed

1 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2014-2-18
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)).

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 String 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by