Double to cell conversion.

2 次查看(过去 30 天)
Dwight
Dwight 2012-9-4
I'm trying to store a string of characters in my [data_accuracy] variable (instead of storing for example 0 or 1) based on a conditional if statement. cellstr and num2str or { } based approaches have not worked and continue to give me the error: Conversion to cell from double not possible. Any suggestions? Thanks!
Example:
if data(i,1) == 1;
data_accuracy(i,1) = 'hit';
elseif data(i,1) == 2;
data_accuracy(i,1) = 'miss';
end
  1 个评论
Rick Rosson
Rick Rosson 2012-9-4
This approach is not a very efficient way to code an algorithm. Why do you want to have strings instead of numbers?

请先登录,再进行评论。

回答(4 个)

Jan
Jan 2012-9-4
pool = {'hit', 'miss'};
data_accuracy = pool(data(:,1));

Azzi Abdelmalek
Azzi Abdelmalek 2012-9-4
编辑:Azzi Abdelmalek 2012-9-4
%use {} instead ()
data=randi(3,10,1) %example
for k=1:size(data,1)
if data(k,1)==1
data_accuracy{k,1} = 'hit';
elseif data(k,1) == 2;
data_accuracy{k,1} = 'miss';
end
end

Sean de Wolski
Sean de Wolski 2012-9-4
编辑:Sean de Wolski 2012-9-4
data = (rand(10,1)>0.5)+1
c = cellstr(repmat('hit',size(data)))
c(data==2) = {'miss'}

Rick Rosson
Rick Rosson 2012-9-4
Please try the following instead:
isAccurate = ( data(:,1) == 1 );
HTH.
Rick

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by