---
title: 正态分布函数
description: "生成符合正态分布（Normal distribution）的随机数向量。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0478.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0478.html
indexId: 2cd7c1d9457de32410242b95ce690572215730effd80f4b83ed972cc6c5ca52c61
---
# 正态分布函数

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

#### 接口定义

KmlVslResult kml_vsl_rnorm(VslPolicy *policy, N01type normal_method, int len, double *dst, double mean, double sd)


#### 概率密度函数


#### 参数

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


#### 依赖

#include "krng.h"


#### 示例

```
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include "krng.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_rnorm(policy, BOX_MULLER, len, dst, 0, 1);
for (int i = 0; i < len; i++) {
printf("%f ", dst[i]);
}
printf("\n");
kml_vsl_destroy(policy);
}
```
