why ascii instead of letter?

4 visualizzazioni (ultimi 30 giorni)
huda nawaf
huda nawaf il 19 Set 2011
hi,
I want place 'a' instead of 1 as in :
x=[1 2 3 1]; >> for i=1:4 if x(i)==1 x(i)='a' end end
but the result: 97 2 3 97
why ascii is appearing?

Risposte (2)

Walter Roberson
Walter Roberson il 19 Set 2011
You have initialized a numeric array rather than a character array. Numeric arrays cannot hold characters as characters. Only cell arrays can mix numerics with characters.

Fangjun Jiang
Fangjun Jiang il 19 Set 2011
Original x is a double array, but in your for-loop, you assign a char value to its element. So it takes the ASCII value of letter 'a'. see
double('a')
  2 Commenti
huda nawaf
huda nawaf il 20 Set 2011
so , what I have to do?
thanks
Fangjun Jiang
Fangjun Jiang il 20 Set 2011
use cell array
%%
x={1 2 3 1};
for i=1:4
if x{i}==1
x{i}='a';
end
end

Accedi per commentare.

Categorie

Scopri di più su Operators and Elementary Operations in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by