How to convert the contents of a cell array into specific numbers?
    2 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi guys, I wrote this code to convert the columns 1 and 2 of my cell array into specific numbers as mentioned in the code but no value changed in column 1 and no error is shown even!.
Maybe there is a problem of indexing anyone can help me out plz?
   [row_patho, col_patho]=size(Pro_patho_data);
   for i=1:1:row_patho
   if Pro_patho_data{i,1}>=70
     Pro_patho_data{i,1}=11;
   end
   end
   for k=1:1:row_patho
   if strcmpi(Pro_patho_data{k,2},'t3b')
     Pro_patho_data{k,2}=3;
  end
  end
Inputs:
73 t2b
59 t1c
58 t3b
78 t3b
wanted_outputs:
11 t2b
59 t1c
58 3
11 3
2 Commenti
  Walter Roberson
      
      
 il 4 Apr 2018
				I suspect that the entries in column 1 are character vectors, not numeric
Risposte (2)
  Guillaume
      
      
 il 4 Apr 2018
        Pro_patho_data = {73, 't2b'; 59, 't1c'; 58, 't3b'; 78, 't3b'}; %demo data
col1 = cell2mat(Pro_patho_data(:, 1));
col1(col1 > 70) = 11;
Pro_patho_data(:, 1) = num2cell(col1);
Pro_patho_data(strcmpi(Pro_patho_data(:, 2), 't3b'), 2) = {3}
10 Commenti
  Walter Roberson
      
      
 il 4 Apr 2018
				%q means to import quote-delimited strings. You would need '%f%s%f%s%f%f%f'
Vedere anche
Categorie
				Scopri di più su Logical in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



