2011-12-21 143 views

回答

2

标准解决方案是使用张贴由育该溶液中,

a = (str == '1'); 

其产生的逻辑结果。如果你需要一个双,

a = double(str == '1'); 

甚至只是:

a = +(str == '1'); 

也许最简单的寻找解决方案是这样的一个:

a = str - 48; 

虽然我觉得最后是作为对最明显它能做什么。我更喜欢易于阅读和理解目的的代码。这个目标最好通过第二个解决方案来满足,即恕我直言。

1

我想,天真:

n = length(s); 
myArray = zeros(1,n) 
for i = 1:n 
myArray(i) = double(s(i)); 

,其中“双()”是什么命令是改变一个字符串元素的双精度数,如果这确实是你想要的。

1

答案是使用 “bitget”

> x = bitget(7,1:3); 

> class(bitget(7,1:3)) 
    ans = 

    double 

结果是双。

+0

非常感谢。我不再需要字符串了;) – 2011-12-21 07:23:49

1

随着strreada = strread('123', '%c')

2

只是回答另一个question,发现它的一部分可能是有用的在这里。

可以这样的字符串实际上转换为逻辑向量:

a = str == '1'; 

你可以将它转换为另一种类型,例如double(a)