查看: 750|回復: 6|關注: 0
打印 上一主題 下一主題

[已解決] MATLAB怎么生成一組和為定值的隨機數

[復制鏈接]

新手

17 麥片

財富積分


050


6

主題

33

帖子

0

最佳答案
跳轉到指定樓層
1#
在做PSO的時候,粒子為(0,1)范圍且和為1的500維數組。求教怎么在初始時生成初始種群,并且怎么進行邊界處理。
回復主題 已獲打賞: 0 積分

舉報

論壇優秀回答者

0

主題

2263

帖子

351

最佳答案
  • 關注者: 63
2#
發表于 2019-10-23 18:47:02 | 只看該作者 |此回復為最佳答案
Initial=rand(500,1);
Initial=Initial./sum(Initial);
這樣就好了,望設置為最佳答案!謝謝
回復此樓 已獲打賞: 0 積分

舉報

新手

17 麥片

財富積分


050


6

主題

33

帖子

0

最佳答案
3#
 樓主| 發表于 2019-10-23 18:49:40 | 只看該作者
WarnerChang 發表于 2019-10-23 18:47
Initial=rand(500,1);
Initial=Initial./sum(Initial);
這樣就好了,望設置為最佳答案!謝謝 ...

謝謝啦,還有怎么進行邊界處理呢:loveliness:
回復此樓 已獲打賞: 0 積分

舉報

論壇優秀回答者

0

主題

2263

帖子

351

最佳答案
  • 關注者: 63
4#
發表于 2019-10-23 19:07:44 | 只看該作者
lwb19951228 發表于 2019-10-23 18:49
謝謝啦,還有怎么進行邊界處理呢

例如速度區間為[-0.5 0.5];
那么:
Initial(Initial<-0.5)=-0.5;
Initial(Initial>0.5)=0.5;
這樣就好了吧!
回復此樓 已獲打賞: 0 積分

舉報

論壇優秀回答者

0

主題

2263

帖子

351

最佳答案
  • 關注者: 63
5#
發表于 2019-10-23 19:07:47 | 只看該作者
本帖最后由 WarnerChang 于 2019-10-23 19:09 編輯
lwb19951228 發表于 2019-10-23 18:49
謝謝啦,還有怎么進行邊界處理呢

例如速度區間為[-0.5 0.5];
那么:
Initial(Initial<-0.5)=-0.5;
Initial(Initial>0.5)=0.5;
這樣就好了吧!


還有我用的rand函數全部生成的正數!
想生成負數:

Initial=1*rand(500,1)-0.5;這樣正負數就都有了!
回復此樓 已獲打賞: 0 積分

舉報

新手

5 麥片

財富積分


050


0

主題

1

帖子

0

最佳答案
6#
發表于 2019-11-24 10:16:15 | 只看該作者
WarnerChang 發表于 2019-10-23 18:47
Initial=rand(500,1);
Initial=Initial./sum(Initial);
這樣就好了,望設置為最佳答案!謝謝 ...

但是這樣只能保證初代粒子是和為定值的吧,請問有沒有方法能保證后面每一代粒子的和都是定值呢
回復此樓 已獲打賞: 0 積分

舉報

論壇優秀回答者

0

主題

2263

帖子

351

最佳答案
  • 關注者: 63
7#
發表于 2019-11-24 10:39:05 | 只看該作者
NoMercy 發表于 2019-11-24 10:16
但是這樣只能保證初代粒子是和為定值的吧,請問有沒有方法能保證后面每一代粒子的和都是定值呢 ...

pso算法中每一代種群的位置都在變化,這好像保證不了吧!
回復此樓 已獲打賞: 0 積分

舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /4 下一條

快速回復 返回頂部 返回列表
哪一款德州扑克还能玩 竞彩足球比分直播 股票基本知识入门 四川麻将下载安装 香港精选资料六肖中特 大盘股一定是权重股 辉煌棋牌里面的玩家是脱吗 十二生肖买马的规则 国内股票市场分析 湖南体彩赛车走势图 海王捕鱼官网 微乐麻将吉林麻将免费开挂 广西友玩麻将 丰胸美女捕鱼 四人麻将免费下载 哪款赚钱app赚得多 炒股加杠杆app下载