2012-11-22 51 views
1

我想在MATLAB中創建一個10 x 8的數組,填充浮點值。如何在MATLAB中創建浮點數組?

想法?

更新:
我實際上試圖創建一個空的10 x 8浮點型數組。我怎樣才能做到這一點?

+2

嘗試'蘭特(10,8)'? :) –

+0

那麼,你有什麼嘗試?你想在矩陣中使用什麼值?在這種形式下,這個問題不是很清楚...... – MartinStettner

+0

@MartinStettner我根據他在評論我的回答時所說的更新了OP的問題,希望現在好一點。 –

回答

2

更新:從OP的澄清使這個答案過時。


如果你只是想創建具有特定值的矩陣,這裏是一個班輪方法:

數據= 0。 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9; 0。 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9; ...; 0 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9]

多襯墊的方法(如果將要複製粘貼的數據):

數據= [
0 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
0. 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
0. 0.1 0.2 3. 4. 5. 6. 7. 8 0.9
0 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
...
0 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
]

然而,正如很多人在牀上寫下rand(10,8),你可以看到,通常不使用某種函數來創建(10,8)矩陣。說:rand,ones,zeros或其他一些技巧說reshape((1:1:80), 10, 8)

+0

該解決方案是一種非常糟糕的編碼實踐,它不回答OPO對FLOAT矩陣的要求,也不回答這個解決方案。 它不是通用的,因此不能作爲運行時大小確定的矩陣合併... –

+0

Thx的解釋。第一:「浮點」意味着float或double,第二:如果OP將要有一個數組,它明確地填充了其他地方的某些值,我會在一個快速腳本中執行我的多線程方法。我沒有看到它背後的「糟糕的編碼習慣」。我希望這能回答你的擔憂:我有一個不同的角度。 –

+0

然後蘭特(10,8)會做的竅門 –

2
matrix = single(rand(10,8)); 

浮動是在Matlab單

rand(10,8);返回格式化爲雙打尺寸10×8的矩陣...你可以,如果返回值轉換爲single(rand(10,8))得到浮點值...出於某種原因您需要具有浮點精度而不是雙精度浮點精度

+0

我不明白爲什麼這個答案downvoted ...請解釋爲什麼這不會是答案和張貼你的(誰downvoted這個:如果它不明顯...) –

+0

是的,我是無意的downvoter爲我看到你沒有任何評論就低估了我的回答。從我的答案的角度來看 - 正如我在評論中所解釋的那樣 - 你的回答在相同程度上沒有意義,所以我平了。 ;)但我們不要爭論非特定的問題。請注意,投票將被系統鎖定,直到下一次編輯。 –

+1

嗯,你們都應該花掉你們的問題而不是互相爭鬥:)給+1和@BarnabasSzabolcs,如果有人想創建一個MATLAB矩陣,這兩個答案可能會有所幫助:) – MartinStettner

2

您可能需要查看zeros函數。創建包含所有零的10×8矩陣,使用

matrix = zeros(10, 8); 

要強制的元素是一個特定類型的(例如單精度),使用附加class參數等

matrix = zeros(10, 8, 'single'); 

(I認爲,默認是雙精度)

相關問題