请教高手,怎么样在matlab中创建一个值在-3到3之间的5*3的随机矩阵?用rand 和 floor 或者ceil??

我如果这样写可不可以阿,floor(-3+6*rand(5,3)),但是这个向下取整就没有3了,用ceil 就没有-3了,怎么办呢

一般用 randi 随机生成整数矩阵

A = randi([-3, 3], 5, 3)

如果你一定想用取整函数来做, 可以用 round

比如
round(-3.5+7*rand(5,3))
当然这里会有极小的几率出现4,-4, 不过这可以通过后续检查来解决
注意, 为了实现均分布, 应该让区间覆盖到(-3.5,3.5)
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-27
-3+6*rand(5,3)追问

还有一个条件 刚才没有看到。
要求是整数呢?
用floor 或者ceil

追答

unidrnd(7,5,3)-4;
unidrnd(N,[n1,n2,...])表示产生从1到N的n1*n2*...的矩阵
借鉴了一些网上的资料,要善于找资料和自主学习,我认为是这样的

本回答被提问者采纳

Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答