---
title: 对数正态分布函数
description: "生成符合对数正态分布（log normal distribution）的随机数向量。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0454.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0454.html
indexId: 7ca8ffa16f1084818578bfe776be7539a3717a87091cdc28de57c1abbd89582967
---
# 对数正态分布函数

生成符合对数正态分布（log normal distribution）的随机数向量。

#### 接口定义

KmlVslResult kml_vsl_rlnorm(VslPolicy *policy, N01type normal_method, int len, double *dst, double meanlog, double sdlog)


#### 概率密度函数


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| len | int | 输入输出的长度。 | 输入 |
| meanlog | double | Log mean参数。 | 输入 |
| sdlog | double | Log SD参数。 | 输入 |
| 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_rlnorm(policy, BOX_MULLER, len, dst, 0, 1);
    for (int i = 0; i < len; i++) {
        printf("%f ", dst[i]);
    }
    printf("\n");
    kml_vsl_destroy(policy);
}
```
