首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >均匀分布- AnyLogic法生成同类型不同颜色的生成剂

均匀分布- AnyLogic法生成同类型不同颜色的生成剂
EN

Stack Overflow用户
提问于 2022-06-24 03:22:02
回答 3查看 81关注 0票数 0

嗨,这儿,

我试图添加一个源,它生成具有不同颜色的代理,这些代理是基于非均匀分布随机填充的。例如,我希望看到这个源生成50%的代理具有橙色或10%的lightSkyBlue颜色。到目前为止,我有这一行,可以从availableColors数组中随机选择颜色。但我需要每一种颜色都要根据其关联概率进行选择。

代码语言:javascript
运行
复制
availableColors = { oliveDrab, crimson, orange, lightSkyBlue, darkOrchid }

agent.favoriteColor =
    randomFrom(availableColors);

有线索吗?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-24 09:24:27

使用以下属性从代理调色板创建自定义发行版。在下面,2表示“无颜色”。如果使用百分比,则观察次数的总和应始终为100。

然后创建一个具有以下属性和主体的函数:

代码语言:javascript
运行
复制
int colorID = colorProbabilities();

if( colorID == 0 ) { return orange;}
else if (colorID == 1 ) { return lightSkyBlue;}
else return null;

最后,您现在可以使用:

代码语言:javascript
运行
复制
agent.favoriteColor = colorPicker();

这使您现在可以自定义您的分发在任何点到任何数目的颜色和任何概率。

票数 0
EN

Stack Overflow用户

发布于 2022-06-24 07:44:47

你应该用相反的方法:

源块创建的代理类型中的

  1. 添加一个形状(矩形.)将源块命名为myShapeHavingColor
  2. In,确保它在源代码块中创建
  3. 类型的代理,在"on at Exit“代码框中,您现在可以从所需的发行版中更改颜色,例如:

票数 0
EN

Stack Overflow用户

发布于 2022-06-24 09:42:53

另一个简单的答案是使用select输出块,如果您不习惯编码的话。像这样简单的事情:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72738656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档