- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我这里有一个代码可以生成平均为 0f 1 且标准偏差为 0.5 的随机数。但是我该如何修改这段代码,以便我可以对任何给定均值和方差的高斯随机数进行反代?
#include <stdlib.h>
#include <math.h>
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
double drand() /* uniform distribution, (0..1] */
{
return (rand()+1.0)/(RAND_MAX+1.0);
}
double random_normal()
/* normal distribution, centered on 0, std dev 1 */
{
return sqrt(-2*log(drand())) * cos(2*M_PI*drand());
}
int main()
{
int i;
double rands[1000];
for (i=0; i<1000; i++)
rands[i] = 1.0 + 0.5*random_normal();
return 0;
}
最佳答案
I have a code here which generates random numbers having a mean 0f 1 and std deviation of 0.5. but how do i modify this code so that i can denerate gaussian random numbers of any given mean and variance?
如果 x
是来自高斯分布的随机变量,均值为 μ
,标准差为 σ
,则 αx+β
将具有均值 αμ+β
和标准差 |α|σ
。
事实上,您发布的代码已经进行了这种转换。它从一个均值为 0、标准差为 1 的随机变量开始(从实现了 Box–Muller transform 的函数 random_normal
获得),然后将其转换为一个均值为 1、标准差为 0.5 的随机变量(在 rands
数组中)通过乘法和加法:
double random_normal(); /* normal distribution, centered on 0, std dev 1 */
rands[i] = 1.0 + 0.5*random_normal();
关于c - 对于给定的均值和方差,如何在 c 中生成高斯伪随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7034930/
编写求解线性代数方程组的高斯-乔丹方法的任务是我选择用来推进学习 J 的一项练习。系统为 Ax=b,其中 A 是 n-by-n 矩阵,b 和未知的 x 是 n-向量。首先,我从带有控制结构的最简单形式
祝大家新年快乐! :) 我正在 Matlab 中编写 Gauss-Seidel 函数,但遇到了一些问题。 当精度达到 6 位小数时,迭代必须停止。这意味着x-xprevious的无限范数(要求使用它)
我正在尝试使用 scipy 和曲线拟合对我的数据进行高斯拟合,这是我的代码: import csv import numpy as np import matplotlib.pyplot as plt
[已解决,谢谢] 我在 C++ 中开发了下面的代码来使用高斯-塞德尔方法求解线性方程,但我似乎在填充数组时在运行时遇到了一个我无法弄清楚的问题。这是我的代码... #include int main(
我必须设计一种算法作为正向消元法的扩展,在矩阵上进行高斯约旦消元法。我的程序正在执行并创建数字的对角线,但它们并不都是 1。它也不会访问第一行和第一列以将它们更改为 0。最后一列,也就是答案所在的那一
我已经按照 Nixon Aguado 的算法实现了一个高斯滤波器。算法(找到此处描述的模板后 gaussian template )如下。 我相信伪代码是 MATLAB 风格的。 function c
在平滑图像时,我应该应用高斯和双边滤波器等哪种颜色空间版本(灰度、RGB、HSV 等)以获得最佳的去噪效果?是有一个总体趋势,还是在不同情况下会发生变化? 此外,您建议在图像处理中使用什么滤镜和色彩空
我需要根据 Java 中的正态分布对网格(MXN 矩阵)的单元格进行采样。 我知道the Apache Math library具有对一维(1D)值进行采样的函数,因此对于 vector 来说很好,但
我可以使用 random.gauss(mu, sigma) 函数生成高斯数据,但是如何生成二维高斯数据?有这样的功能吗? 最佳答案 如果你可以使用numpy,有numpy.random.multiva
为什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的
我正在执行高斯混合模型分类,并基于此,在 MATLAB 中使用“mvnpdf”函数。 据我所知,该函数返回传递给它的数据点或元素的多变量概率密度。 但是我试图在 C 上重新创建它,并且我假设 mvnp
I am using rbf,Support Vector machine for large training set=1135x9 matrix and test set{95x9}. I am
我现在多次偶然发现使用 scipy.curve_fit 在 python 中进行拟合比使用其他工具(例如根 ( https://root.cern.ch/ ) 例如,在拟合高斯分布时,使用 scipy
我想在 MATLAB 中绘制高斯波函数的二维表示。我希望 2D 图为一种颜色(绿色),远离高斯中心变得透明。 当我使用 imagesc 时(就像在下一个代码中一样),我在黑色方 block 上得到了一
如果我有数据(每日股票图表是一个很好的例子,但它可以是任何东西),其中我只知道 X 单位销售的范围(高 - 低)但我不知道确切的价格出售的任何给定元素。为简单起见,假设价格范围包含足够的桶(例如,40
这个问题在这里已经有了答案: Impulse, gaussian and salt and pepper noise with OpenCV (10 个回答) 关闭6年前。 我想知道 Python 中
我是一名优秀的程序员,十分优秀!