Matlab中Rand()函数用法

一、理论准备

       matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数。

      用法:Y = randn(n),返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。
      Y = randn(m,n) 或 Y = randn([m n]),
返回一个m*n的随机项矩阵。

      Y = randn(m,n,p,...) 或 Y = randn([m n p...]),产生随机数组(感觉就是三维数组,请看如下例子)。

  1: >> rand(1,2,3)
  2: ans(:,:,1) =
  3:    0.445586200710899   0.646313010111265
  4: ans(:,:,2) =
  5:    0.709364830858073   0.754686681982361
  6: ans(:,:,3) =
  7:    0.276025076998578   0.679702676853675

      Y = randn(size(A)),返回一个和A有同样维数大小的随机数组。

randn

      s = randn('state'),估计和C++里初始化随机种子一个意思,随便了。

二、举例分析

      产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:

  1: x = .6 + sqrt(0.1) * randn(5)

      其他类似函数:rand, randperm, sprand, sprandn

三、拓展

      用matlab随机产生60个1到365之间的正数 1+fix(365*rand(1,60)),fix就是取整函数。
      用rand函数随机取100个从-1到1(原来写成了2)的数x1,x2,...,x = rand(1,100) * 2 - 1。

      逗号表示行,分号表示列。

posted @   加拿大小哥哥  阅读(100580)  评论(2编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示