独角兽djs 2020-10-18 18:52 采纳率: 33.3%
浏览 288

matlab中关于unifrnd函数?

代码如下,各个变量所代表的数值在注释里!

%%
V( : , : , 1)=unifrnd(-1,1,n_x,n_y);    %-1,1,3,20-----生成3*20*2001范围 -1 -- 1的随机数
W( : , : , 1)=unifrnd(-1,1,n_y+1,n_d);  %-1,1,21,1
%%

程序运行后怎么多了个2001图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 02:44
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    unifrnd 函数是MATLAB中的一个随机数生成函数。它接受四个输入参数:

    1. ab(默认为 -11):生成的随机数应在指定区间内。
    2. size:生成随机数的大小。

    如果你想要生成一个三维数组 V 的每个元素都是从 -11 范围内的随机数,并且大小为 nx 行和 ny 列,你可以使用以下代码:

    V = unifrnd([-1, 1], size);
    

    如果你想生成一个二维数组 W 的每个元素都是从 -11 范围内的随机数,并且大小为 ny + 1 行和 nd 列,你可以使用以下代码:

    W = unifrnd([-1, 1], [ny + 1, nd]);
    

    然而,在你的例子中,你提到 V(:,:,1)W(:,:,1) 是分别生成了3行、20列和3行、20列的矩阵。这似乎与你的意图不符,因为这些值都应该是相同的。可能是因为你在调用 unifrnd 函数时传入了错误的参数。例如,当你尝试生成一个包含三个维度的矩阵时,你应该将 size 参数设置为 (n_x, n_y, n_z)(nx, ny, nz),而不是 (nx, ny), (n_y, nd)(n_x, n_y, nd)

    此外,如果你只是想生成随机数,而不需要它们填充到一个特定形状的数组中,你可以直接使用 rand 函数,而不必先进行任何类型的转换或调整。例如:

    rand(n, m)
    

    这将生成一个尺寸为 n 行和 m 列的随机数数组。

    评论

报告相同问题?