从随机分布转换为正常/泊松分布

102次浏览(过去30天)
勇敢的一个
勇敢的一个 2021年8月18日0:52
评论: 勇敢的一个2021年8月19日5:13
你好,
我有这样的代码distrbuted的C值和f_i为randome distrbutuons。
我需要将此分发单元更改为:
1-正常分布
2-泊松Distrbutions
但每次我尝试时,它都会给我错误。
s_输入=结构(“V_位置X_间隔”,[0 1],...%(公里)
“V_位置Y_间隔”,[0 1],...%(公里)
“V_速度_间隔”,[0.01 0.1],...%(千米/秒)最初设置为[0.2 2.2]?
“V_暂停_间隔”,[0 1],...%最初的暂停时间[1 4]
'V_WALK_INTERVAL'[1 5],...%步行时间(秒)
“V_DIRECTION_INTERVAL”(-180 180),...%(度)
“SIMULATION_TIME”, 20岁,...%(s) 原来是20%
“NB_节点”,200);原本%300
全球BaseX BaseY
BaseX=0.5;%(公里)
BaseY = 0.5;%(公里)
num_users=s_input.NB_节点;
s_移动性=生成s_移动性(s_输入);
% timeStep用于插值节点位置
%在上述生成的s_机动数据中指定的位置内
时间步长= 0.5;%(s)%1;不应该真正影响任何事情
%除了增加节点时间位置的数量
%生成并显示节点的动画版本
使用时间步长到可用内插位置数据%
%在s_mobility位置数据
test_Animate (s_mobility s_input,步伐);
%%
%========================%
% 参数 %
%========================%
%损失函数参数
阿尔法= 128.1;
β=37.6;
%计算延迟:
C_i=5000;%(最终希望C是)在C_i和3*C_i之间
C_t=69;
%D_i = 1;%5000-10000字节之间
D_i=500;%由wdc 01/09/2021修改,用于以下计算中的D
z)
F_i = randi([1500000000, 3000000000], num_users, 1);给每个用户自己的f值
%Y = mu +根号(2)*sigma*erfinv(2*X-1);
eta=1/10;%从notes中获取值(为1/1000)
δ= 0.1;
L=4;%来自笔记,但它应该来自黑森
ggamma = 2;%来自笔记,但它应该来自黑森
%上传延迟:
全球乙P_I N_0小号
B = 11000000;%带宽为10 MHz=10000000 HZ;尝试0.1 MHz?
P_i = 10;%传输功率
不知道这里的N_0是什么。是噪音?= N_0 ?
%以下内容真的是字节而不是位吗?
S = 1000000;
N_0=10^(-104-30)/10);%噪声=-104dbm.噪声
%传输数据大小,尝试1 Mbit = 1,000,000位
%定义Tau
%Tau=0.00009563
头= 1;%原为0.00009563
选定=s_移动;
%创建的所有期望的时间值/步骤的载体,其形式为
%[0,时间步长,2*时间步长,…,模拟时间]
v_t=0:timeStep:s_input.SIMULATION_TIME;
为了nodeIndex = 1:Selected.NB_NODES
Selected.VS_NODE2 (nodeIndex)。v_t = v_t;
Selected.VS_NODE2(nodeIndex).v_x = interp1(Selected.VS_NODE(nodeIndex).V_TIME,Selected.VS_NODE(nodeIndex).V_POSITION_X,V_T);
选定的.VS_节点2(节点索引)。v_y=interp1(选定的.VS_节点(节点索引)。v_时间,选定的.VS_节点(节点索引)。v_位置y,v_t);
结尾
为了N=1:选定的.NB_节点
%这个tlen实际上每次都应该是相同的,因为
在先前创建的for循环上述(X,Y)的位置数%
%为每个节点
TLEN =长度(Selected.VS_NODE2(N).v_t);
为了t = 1时:TLEN
选定的.VS_节点2(N).距离(t)=disFn(选定的.VS_节点2(N).v_x(t),选定的.VS_节点2(N).v_y(t));
选定的.VS_节点2(N).LOSS(t)=lossFn(α,β,选定的.VS_节点2(N).距离(t));
Selected.VS_NODE2 (N) .ULAT (t) = UlatFn (Selected.VS_NODE2 (N) .LOSS (t));
结尾
结尾
C_i=5000;%(最终希望C是)在C_i和3*C_i之间
C_t=69;
C = C_i + (C_t*C_i)*rand(Selected.NB_NODES,1);
F_i = randi([1500000000, 3000000000], num_users, 1);给每个用户自己的f值
功能距离=disFn(x,y)
全球BaseX BaseY
%距离=sqrt(和((x-BaseX)。^2)+和((y-BaseY)^2);
%该清理了一下 - 是工作,但数额没有必要
距离=sqrt((x-BaseX)。^2+(y-BaseY)^2);
结尾
功能损耗=损耗Fn(α、β、d)
损耗=α+β*日志10(d);
结尾
功能寿命=寿命(损失)
全球乙P_I N_0小号
。H2 = 10 ^( - 损失/ 10);
= S/(B*log2(1+P_i.*h2./N_0));
结尾
功能RateLat = RatelatFn(亏损)
全球乙P_I N_0
。H2 = 10 ^(损失/ 10);
RateLat = B *的log 2(1 + P_I * H2 / N_0);
结尾
任何建议预订购是有帮助的。

公认的答案

图像分析员
图像分析员 在2021年8月18日3:01时
编辑:图像分析员 在2021年8月18日3:08时
现在你可能已经解出来了,假设你是在帮助中随机查找的,但不管怎样,这里有一个解:
随机数=随机数(“泊松”,5,1,100000);
直方图(随机数);
网格在…上;
fontSize的= 15;
头衔(“泊松分布”“字体大小”、字形大小);
包含('价值'“字体大小”、字形大小);
ylabel ('数数'“字体大小”、字形大小);
30的评论
勇敢的一个
勇敢的一个 2021年8月19日5:13
@图像分析员 非常感谢您的帮助,我阅读了所有的回复,我感觉到我的结果将如何从您以前的回复。
@沃尔特·罗伯森 非常感谢Walter的评论,我想我得到了一些回复。谢谢你们,我真的很感激:)

登录以发表评论。

更多答案(0)

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!