指定1-5随机函数,生成1-7随机函数

给定一个能生成等概率1-5随机数的函数,请你写一个自定义函数生成等概率1-7的随机数

思路:我们要得到1-7,那么只要得到(0-6)+1即可,(1-5)转换为(0-4)
,那问题就是怎么把(0-4)转换为(0-6)的问题
思路一:

public class RandomFunction {
    public static void main(String[] args) {
        System.out.println(f3());

    }

    //生成1-5随机数
    public static int f() {
        return (int) (Math.random() * 5) + 1;
    }

    //随机生成0-4
    public static int f1() {
        return f() - 1;
    }

    //随机生成0-24
    //分为三块等概率0-6,21,22,23,24
    //0-6,7-13,14-20,21,22,23,24
    public static int f2() {
        return f1() + f1() * 5;
    }

    //随机生成1-7
    public static int f3() {
        int t = 0;
        do {
            t = f2();
        } while (t > 20);
        return t % 7 + 1;

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Matlab中可以使用rand函数生成随机数。具体用法如下: 1. 生成一个0到1之间的随机数: ``` rand ``` 2. 生成一个m×n的随机矩阵: ``` rand(m,n) ``` 3. 生成一个a到b之间的随机数: ``` a + (b-a)*rand ``` 4. 生成一个m×n的a到b之间的随机矩阵: ``` a + (b-a)*rand(m,n) ``` 5. 生成一个符合正态分布的随机数: ``` randn ``` 6. 生成一个符合正态分布的m×n的随机矩阵: ``` randn(m,n) ``` 以上就是Matlab生成随机函数的几种用法,希望对你有所帮助。 ### 回答2: 在Matlab中,我们可以使用rand函数生成随机函数。该函数可以返回一个由0到1之间的均匀分布的随机数构成的矩阵或向量。 下面是一些使用rand函数生成随机函数的例子: 1. 生成一个1x10的矩阵,元素为0到1之间的随机数: RAND_NUM = rand(1, 10); 2. 生成一个5x5的矩阵,元素为0到1之间的随机数: RAND_NUM = rand(5, 5); 3. 生成一个包含10个元素的向量,元素为0到1之间的随机数: RAND_NUM = rand(1, 10); 我们还可以使用其他函数生成不同分布的随机数。例如,使用randn函数可以生成符合标准正态分布的随机数;使用randi函数可以生成指定范围内的随机整数。 希望以上信息能对您有所帮助! ### 回答3: 在MATLAB中,可以使用rand函数生成随机函数。rand函数可以生成0到1之间的随机数。如果想要生成范围为a到b之间的随机数,可以通过以下公式来实现:rand * (b-a) + a。这样,利用rand函数就可以生成所需的随机函数。 首先,需要确定随机函数的定义域和值域。然后,使用rand函数生成满足要求的随机数。接着,可以通过插值方法将生成随机数构建成随机函数。例如,可以使用样条插值、线性插值或多项式插值等方法。 下面通过一个简单的例子来说明如何在MATLAB中生成一个随机函数。假设我们要生成一个定义域为[0,10],值域为[-1,1]的随机函数。首先,确定定义域和值域: x = linspace(0,10,100); % 定义函数的定义域为[0,10],将其分成100个点 y = rand(size(x)) * 2 - 1; % 生成100个位于[-1,1]之间的随机数 接着,利用样条插值方法生成随机函数: xx = linspace(0,10,1000); % 定义插值后的函数的定义域为[0,10],将其分成1000个点 yy = spline(x, y,xx); % 进行样条插值 最后,我们可以通过绘图函数plot来可视化生成随机函数: plot(xx, yy); xlabel('x'); ylabel('y'); title('随机函数'); grid on; 通过上述代码,我们就成功生成了一个定义域为[0,10],值域为[-1,1]的随机函数,并通过绘图函数将其可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值