timerand.m

来自「机器人控制系统的设计与MATLAB机器人控制系统的设计与MATLAB机器人控制系」· M 代码 · 共 33 行

M
33
字号
%随机数的产生原理:
   %在横坐标得到一个随机数x对应的函数值为y,纵坐标(函数的最大值与最小值之间的数)得到一个随机数scope
     %如果scope>y则舍去该数x,否则得到随机数x
function x=timerand%生成服从timepdf函数的随机数
k=2.5;m=12.5;

min=timepdf(m);
max=timepdf(k);%timepdf函数的最大值

x=unifrnd(k,m);%在横坐标得到一个服从均匀分布的随机数
y=timepdf(x);%由x算出对应的函数值
scope=unifrnd(min,max);%在纵坐标得到一个服从均匀分布的随机数

if x~=12.5
    while scope>y
        x=unifrnd(k,m);
        y=timepdf(x);
        scope=unifrnd(min,max);
    end
end

if x==12.5
    while scope>(2.5/12.5)^1.2%(2.5/12.5)^1.2是概率密度函数x=12.5时的函数值
       x=unifrnd(k,m);
       y=timepdf(x);
       scope=unifrnd(min,max);
    end
end

    
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?