why ascii instead of letter?

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?

Answers (2)

Walter Roberson
Walter Roberson on 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 on 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 Comments

so , what I have to do?
thanks
use cell array
%%
x={1 2 3 1};
for i=1:4
if x{i}==1
x{i}='a';
end
end

Sign in to comment.

Categories

Tags

Asked:

on 19 Sep 2011

Community Treasure Hunt

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

Start Hunting!