我在 iOS 应用程序中使用高斯方程来获得特定的照片效果。
我用:
double sigmaX = ...; //some value here
for(int i=0;i<height;i++)
{
double F = 0;
double step = -(pos)*width/20;
/*height,width,pos - all predefined, no problem there*/
for(int j=0;j<4*width;j+=4)
{
F = (double) ((1/1)*exp(-sigmaX*(pow((step++)/1, 2.0)))) ;
//do some operation here...
}
}
F 的值用于确定在其他地方用完的特定强度。
到目前为止一切顺利.... F 是预期的典型钟形曲线。
但是,问题是,我想根据用户输入来缩放这条曲线的标准偏差。
例如,在下图中,我想将曲线从绿线移到红线(蓝色可能是中间线),希望以线性步骤:
现在,给定以下标准符号:
并将其与我在代码中实现它的方式进行比较,我想到了改变 1/sqrt(sigmaX) 以改变比例/SD。我尝试以线性步骤增加 1/sqrt(sigmaX) (以获得线性增量)或 x^n 以获得 SD 中 n 增量的幂,但这些都不起作用。
我有点坚持这个概念。
您能否告诉我如何按预定义的比率缩放标准偏差,即我可能希望它是原始 SD 的 1.34 或 3.78 倍,它会相应地将 +3sigma 扩展到 -3sigma 跨度。