Double to cell conversion.

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 日

1 投票

pool = {'hit', 'miss'};
data_accuracy = pool(data(:,1));
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 9 月 4 日
編集済み: Azzi Abdelmalek 2012 年 9 月 4 日

0 投票

%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 日

0 投票

data = (rand(10,1)>0.5)+1
c = cellstr(repmat('hit',size(data)))
c(data==2) = {'miss'}
Rick Rosson
Rick Rosson 2012 年 9 月 4 日

0 投票

Please try the following instead:
isAccurate = ( data(:,1) == 1 );
HTH.
Rick

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

タグ

質問済み:

2012 年 9 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by