2011-12-21 61 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)