Convert a vector in Character array after a for loop
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi, given the following code
n=length(x)
f = zeros(1,n)
for i = 1:n
if x(i) == 1
f(1,i) = 22;
elseif x(i)==2
f(1,i) = 23;
elseif x(i)==3
f(1,i)= 21;
elseif x(i)==4
f(1,i) = 23;
elseif x(i)==5
f(1,i)= 24;
end
end
C= char (f)
I don't know why but the 'char' conversion doesn't work giving to me the following
so with nothing inside the vector, that I need later for a switch case.
Do you know how to fix the problem?
댓글 수: 8
Stephen23
2019년 7월 24일
편집: Stephen23
2019년 7월 24일
"I don't know hot to do because I'm a really beginner."
That is okay, we are here to help. But so far you have not actually described what you are trying to achieve: you have not explained how the result/output should be derived from the input, or provided example input and output arrays.
Without a specification we have to rely on guessing what you are trying to achieve.
Forget about code, what are you trying to do ?
채택된 답변
Stephen23
2019년 7월 24일
Avoiding character manipulations using basic indexing:
>> x = [1,2,3,1];
>> V = 'A':'Z';
>> V(x)
ans = ABCA
추가 답변 (1개)
Matt J
2019년 7월 24일
Perhaps this is what you want?
>> f=[1,2,3,4], F=char(64+f)
f =
1 2 3 4
F =
'ABCD'
댓글 수: 2
Matt J
2019년 7월 24일
You can loop over the elements of f,
n=length(x)
f = zeros(1,n)
for i = 1:n
switch f(i)
case 22
case 23
case 24
...
end
end
but I have a nagging feeling that a switch-case is not the best way of doing whatever it is you're trying to do.
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!