MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

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!

*No products are associated with this question.*

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.

Show 5 older comments

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.

## 2 Comments

## Walter Roberson (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/72240#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:http://www.mathworks.com/matlabcentral/answers/72240#comment_143620

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