How to modify number of characters for numeric values in a cell array?
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Calabrese
 il 15 Lug 2017
  
    
    
    
    
    Modificato: Calabrese
 il 15 Lug 2017
            Within a cell array, I would like to limit the number of characters allowed in each cell to 6. If the cell has more than 6 characters, I would like to remove the characters off of the end. i.e.
n_raw = 
    [  0.023391]
    [   0.31236]
    [ 0.0073958]
    [    0.6252]
    [    14.158]
    [    14.159]
    [  0.046701]
    [  0.095463]
to
n_raw = 
    [  0.0233]
    [  0.3123]
    [  0.0073]
    [  0.6252]
    [  14.158]
    [  14.159]
    [  0.0467]
    [  0.0954]
5 Commenti
  per isakson
      
      
 il 15 Lug 2017
				Why not try?
You have to distinguish between internal representation and what's displayed.
>> cac{1} = 1/3;
cac{2} = 33.3;
cac
cac = 
    [0.3333]    [33.3000]
>> format long
>> cac
cac = 
    [0.333333333333333]    [33.299999999999997]
Risposta accettata
  Walter Roberson
      
      
 il 15 Lug 2017
        Under the assumption that each entry in the cell is a column vector, and cell itself is a column vector, but not assuming that each entry is a scalar:
 n_raw = {
     0.023391
     0.31236
     0.0073958
     0.6252
     14.158
     -14.159
     0.046701
     0.095463 };
rv = vertcat(n_raw{:});
new_n_raw = mat2cell( floor(abs(rv) * 10000) / 10000 .* sign(rv), cellfun(@length, n_raw), 1);
Note, however, that the only fractions that can be represented exactly in 4 decimal digits are the integer multiples of 1/16 (e.g., 5/16 or 6/16 = 3/8 can be represented exactly in 4 decimal digits, but 11/32 cannot be represented exactly in 4 decimal digits.) In all other cases, the rounding to 4 decimal digits will only look to work. For example, what looks like 0.023391 rounded to what looks like 0.0233 would actually become 0.02330000000000000126565424807267845608294010162353515625
0 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Data Type Conversion 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!