生成介于0.95-1的随机数MATLAB,matlab生成随机数函数

本文介绍了MATLAB中生成均匀分布随机数的方法,包括rand函数的基本用法及其如何产生指定维度的随机数矩阵。通过示例展示了如何使用rand函数,并解释了随机数在模拟不规则信号振幅或事件概率中的应用。

matlab生成随机数函数

1. MA TLAB 函数 rand

产生在区间 (0, 1)的均匀随机数,它是平均分布在 (0,1)之间。一个称为seed的值则是用来控制产生随机数的次数。均匀随机数函数的语法为rand(n),rand(m,n),其结果分别产生一矩阵含n×n个随机数和一矩阵含m×n的随机数。注意每次产生随机数的值都不会一样,这些值代表的是随机且不可预期的,这正是我们用随机数的目的。我们可利用这些随机数代入算式中,来表示某段讯号的不规则振幅或是某个事件出现的机率。均匀随机数其值平均的分布于一区间的特性可以从其统计密度函数(probabilitydensity function, PDF)说明。从其PDF分布类似长条图的分布,可以看出其每一个随机数值出现的机率皆相同,所以它被称为均匀随机数。

见以下的例子:

>> rand(1,6) % 第一次使用随机数产生器

ans =

0.2190 0.0470 0.6789 0.6793 0.9347 0.3835

>>hist(ans) % 看看长条图的长相

>>plot(ans) % 比较上个图与这个图有何差异?何者能代表不规则数据的分布

>> rand(1,6) % 第二次使用随机数产生器,注意每次产生的随机数值皆不同

ans =

我正在写装配线平衡优化研究的毕业论文,我已经通过Rosenbrock函数对基本pso、随机调整权重pso、sa-pso这三种算法进行了有效性验证,最终选择了基于模拟退火改进的pso。现在我想要对算法进行应用道装配线平衡中。当前工作站数量为12,工序数为32。我想要调整工作站数量分别为8、91011,结果可以只显示最优工作站数及其工序分配情况。节拍设置为139.65。请给我装配线平衡问题设计的完整MATLAB代码实现,包含问题建模、约束处理及算法优化模块。一些参数配置我已经写好了,如下: % 工序标准时间(共32个工序) taskTimes = [ 33.48415125; 28.75684625; 42.90959750000001; 19.0453175; 73.56903125000002; 13.169516250000001; 33.863279999999996; 65.598995; 16.981635; 56.0805025; 25.891855; 33.97299125; 39.31412375000001; 47.25083000000001; 26.380695000000003; 34.35489750000001; 67.065515; 23.507371250000002; 30.53028; 27.798608750000003; 54.84868125000001; 31.426023750000006; 24.939172500000005; 34.91734125; 26.677887500000004; 44.199746250000004; 26.36819625; 25.103045; 100.0483275; 26.754268750000005; 26.127942500000003; 30.837193750000008]; % 构建紧前关系矩阵(32x32) precedenceMatrix = zeros(32); precedenceMatrix(1,2) = 1; precedenceMatrix(2,3) = 1; precedenceMatrix(3,[4,11]) = 1; precedenceMatrix(4,5) = 1; precedenceMatrix(5,6) = 1; precedenceMatrix(6,7) = 1; precedenceMatrix(7,[8,16]) = 1; precedenceMatrix(8,9) = 1; precedenceMatrix(9,10) = 1; precedenceMatrix(10,[12,14]) = 1; precedenceMatrix(11,12) = 1; precedenceMatrix(12,13) = 1; precedenceMatrix(13,14) = 1; precedenceMatrix(14,15) = 1; precedenceMatrix(15,17) = 1; % 分解赋值 precedenceMatrix(16,17) = 1; precedenceMatrix(17,18) = 1; precedenceMatrix(18,19) = 1; precedenceMatrix(19,20) = 1; precedenceMatrix(20,28) = 1; precedenceMatrix(21,22) = 1; precedenceMatrix(22,23) = 1; precedenceMatrix(23,[24,26]) = 1; precedenceMatrix(24,25) = 1; precedenceMatrix(25,28) = 1; precedenceMatrix(26,27) = 1; precedenceMatrix(27,28) = 1; precedenceMatrix(28,29) = 1; precedenceMatrix(29,30) = 1; precedenceMatrix(30,31) = 1; precedenceMatrix(31,32) = 1; % 设置节拍时间 cycleTime = 139.65; % 算法参数 stationConfigs = [8,9,10,11]; % 工作站配置 maxIter = 200; % 最大迭代次数 popSize = 50; % 种群规模(已优化) w = 0.8; % 惯性权重 c1 = 1.5; % 个体学习因子 c2 = 1.5; % 社会学习因子 T0 = 1000; % 初始温度 coolingRate = 0.95; % 冷却速率 请结合我给的参数,生成完整的可以直接运行的matlab代码。
最新发布
05-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值