why ascii instead of letter?

3 Ansichten (letzte 30 Tage)
huda nawaf
huda nawaf am 19 Sep. 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?

Antworten (2)

Walter Roberson
Walter Roberson am 19 Sep. 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 am 19 Sep. 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 Kommentare
huda nawaf
huda nawaf am 20 Sep. 2011
so , what I have to do?
thanks
Fangjun Jiang
Fangjun Jiang am 20 Sep. 2011
use cell array
%%
x={1 2 3 1};
for i=1:4
if x{i}==1
x{i}='a';
end
end

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by