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 Center および File ExchangeData Type Conversion についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by