我正在尝试在MATLAB中创建一个填充浮点值的10 x 8数组。
想法?
更新:
我实际上是在尝试创建一个空的10 x 8浮点型数组。我怎么能这样做?
答案 0 :(得分:3)
您可能需要查看zeros
功能。要创建包含全零的10 x 8矩阵,请使用
matrix = zeros(10, 8);
要强制元素属于某种类型(例如单精度),请使用额外的class
参数,例如
matrix = zeros(10, 8, 'single');
(我认为,默认是双精度)
答案 1 :(得分:2)
更新:OP的澄清使得这个答案过时了。
如果您只是想创建一个具有特定值的矩阵,这里有一个单行方法:
data = [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]
多线程方法(如果您要复制粘贴数据):
data = [
0.1 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
0.1 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
0.1 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
0.1 0.1 0.2 3. 4. 5. 6. 7. 8. 0.9
...
0.1 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)
。
答案 2 :(得分:2)
matrix = single(rand(10,8));
float在Matlab中是单一的
rand(10,8);
返回一个格式为double的矩阵10x8 ...你可以将返回值强制转换为single(rand(10,8))
以获得浮点值...如果由于某种原因你需要有浮点数精度而不是双浮点行程