Trouble Matching Data in Indexed Array

1 次查看(过去 30 天)
kenny
kenny 2013-6-10
Hey, everyone! I'm trying to create a program where the Array "Accepted" has a direct correlation to the Array "Values". For example "A" would be given value "1", "B", "2", and so on. and then at the end it asks how many units of the variable of "Accepted" and divides it by its given value. So if I said 7 units of "C" it would return "7/3 total C". So i created these arrays but i don't know how i would link them up that way. the way I have it I feel that it would just take the entire array rather than assigning each array a specific value of the other. ideas?
thanks!
Accepted = {'A','B', 'C'};
Values = {'1','2','3'} ;
letter = input('what letter? ','s');
if any(strcmpi(elmnt,Accepted))
disp ('\n')
else
disp ('that''s not going to work')
end
units = input ('how many units of it?');
fprintf('%d units of (Accepted)', units/(Values))

回答(1 个)

Iain
Iain 2013-6-10
You can get the index of the matched item easily:
index = find(strcmpi(elmnt,Accepted));
I find disp, and concatenation easier to handle than fprintf
disp([num2str(units) '/' Values{index} ' of "' elmnt{index} '".'])
  5 个评论
Iain
Iain 2013-6-10
You're not using {} [braces] and () [parentheses] correctly.
kenny
kenny 2013-6-10
编辑:kenny 2013-6-10
i know, i know, but when i keep the braces i get.
"??? Cell contents reference from a
non-cell array object."
Error in ==> thing1 at 12
disp([num2str(units) '/'
Values{index} ' of "' elmnt{index}
'".'])
and then i'm lost. but i do appreciate all your input

请先登录,再进行评论。

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by