如何在MATLAB中创建浮点数组?

时间:2012-11-22 18:56:42

标签: matlab floating-point

我正在尝试在MATLAB中创建一个填充浮点值的10 x 8数组。

想法?

更新:
我实际上是在尝试创建一个空的10 x 8浮点型数组。我怎么能这样做?

3 个答案:

答案 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)矩阵。说:randoneszeros或其他一些技巧说reshape((1:1:80), 10, 8)

答案 2 :(得分:2)

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

float在Matlab中是单一的

rand(10,8);返回一个格式为double的矩阵10x8 ...你可以将返回值强制转换为single(rand(10,8))以获得浮点值...如果由于某种原因你需要有浮点数精度而不是双浮点行程