Asked by googo
on 16 Apr 2013

Hello,

suppose I have a vector of string [1 2 3 4] and i want to change it to a vector of nmbers to do a numeric caculations, How can I do it? Thank's!

Answer by Friedrich
on 16 Apr 2013

Edited by Friedrich
on 16 Apr 2013

Hi,

as long there are no [] in the string use textscan:

textscan('1 2 3 4 6.3','%f','delimiter',' ')

In the case there are use strrep to remove the [ or ] before calling textscan.

googo
on 16 Apr 2013

Walter, what do you mean? I didn't understand.

Walter Roberson
on 16 Apr 2013

You have

t(i,n+1)=num2str(c);

the destination t(i,n+1) is a single character. The number 10 and upwards require two (or more) characters to represent as a string. Therefore if c reached 10 (occurrences) the code would fail. This suggests that you have a code design problem.

googo
on 16 Apr 2013

Thank you... I'll try to find a way to fix it..

Log in to comment.

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## Walter Roberson (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/72240-convert-a-string-vector-to-a-vector-of-numbers#comment_143615

Are the '[' and ']' in the string? Are the numbers only integers or possibly floating point ?

## googo (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/72240-convert-a-string-vector-to-a-vector-of-numbers#comment_143620

string=['1' '2' '3' '4'] and I want to change it to : a = [1 2 3 4]

Log in to comment.