---
title: 威布尔分布函数
description: "生成符合威布尔分布（Weibull Distribution）的随机数向量。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0456.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0456.html
indexId: 8c2342899ccd73a2e87d49734de92e59618f9ffeeddf572f1ddedf0dc667150667
---
# 威布尔分布函数

生成符合威布尔分布（Weibull Distribution）的随机数向量。

#### 接口定义

KmlVslResult kml_vsl_rweibull(VslPolicy *policy, N01type normal_method, int len, double *dst, double shape, double scale)


#### 概率密度函数


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| len | int | 输入输出的长度。 | 输入 |
| shape | double | shape参数。 | 输入 |
| scale | double | scale参数。 | 输入 |
| dst | double类型指针 | 指向结果的指针。 | 输出 |
| policy | VslPolicy类型指针 | 指向随机数生成器结构体指针。 | 输入 |
| normal\_method | N01type类型枚举体 | 生成正态分布的算法。 | 输入 |


#### 依赖

#include "kvsl.h"


#### 示例

```
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include "kvsl.h"
int main()
{
    VslPolicy *policy;
    kml_vsl_init(&policy, LECUYER_CMRG, time(NULL));
    int len = 10;
    double *dst = (double *)malloc(sizeof(double) * len);
    int a = kml_vsl_rweibull(policy, BOX_MULLER, len, dst, 0, 1);
    for (int i = 0; i < len; i++) {
        printf("%f ", dst[i]);
    }
    printf("\n");
    kml_vsl_destroy(policy);
}
```
