正态分布图看起来有一点像二次函数,在没有正态分布函数时,可能只好将就一下使用二次函数拟合了。为方便起见,只考虑标准整体分布的情况。

首先看看图像,在靠近中心线时,正态分布确实很像二次函数,但是远离中心线时就很不像。第一个任务是确定远离到什么程度时,再使用二次函数拟合已经不再合适。

从二阶导的角度考虑就较为明显。以Y轴为中心线的二次函数的二阶导是一个负数,而标准整体分布函数的二阶导当0<=x<1时是负数,x>1就是整数。所以建议不要让x超过1.

于是我们就用x=1作为定点做拟合。二次函数y=-kx^2+b,由x=0时y=1/(根号2pi),以及x=1时y=exp(-1/2)/(根号2pi),可知拟合结果是y=-0.157x^2+0.399.从面积的角度看,x=1时,二次函数的面积是0.347,正态分布是0.341,相差不大。如果想x=1时面积相等(因为面积表示概率,较为重要),拟合结果是y=-0.174x^2+0.399,两个都可以,我个人倾向于用

y=-0.174x^2+0.399.

最重要的部分拟合就完成了。后面的部分影响较小,不过也最好拟合一下吧。用什么函数拟合呢?从图形看,第一反应是反比例函数,简单实际。但是……因为反比例函数的无穷限积分是发散的,不合适。所以就打算用:

y=t+a/(x-c)^2

明显t=0,剩下a,c两个参数了,要求不多,第一个要求是x=1时,y=0.225,这是函数连续的基本要求了;第二个要求是面积要求,由x=1到x=无穷,面积必须是1-0.841=0.159.

利用这两个要求,可以算出:a=0.112,c=0.293.

得到最后结果了。当x>=0时,拟合标准正太分布的函数是:

0<=x<=1时,y=-0.174x^2+0.399

x>1时,y=0.112/(x-0.293)^2

如果要算面积(概率)的话,用t表示服从标准正太分布的随机变量,只考虑t>=0的情况,

定义y(x)=P(0<=t<=x),则是:

0<=x<=1时,y(x) = 0.399x-0.058x^3

x>1时,y(x)=0.5-0.112/(x-0.293)

c语言二次函数拟合,用一个简单2次函数拟合标准正态分布的研究相关推荐

  1. c语言编程坦克图案,用C语言的图像函数画一个简单的坦克图样

    用C语言的图像函数画一个简单的坦克图样 #include "graphics.h" #include "conio.h" void Tanke(int x,in ...

  2. java 语言 写字板_一个简单的java语言写字板.docx

    一个简单的java语言写字板.docx 一个简单的JAVA语言写字板一.需求分析1.需求分析:现在网络上各种文档编辑器数不胜数.功能也是应有尽有,有能改变字体的,有可以改变字体颜色的,但是,这些软件有 ...

  3. 用C语言或C++编写一个简单的银行家算法模拟程序

    1.问题描述 银行家算法是操作系统中避免死锁的典型算法.用C语言或C++编写一个简单的银行家算法模拟程序,实现多个进程争用系统临界资源时的分配过程.要求程序实现: 1.当一进程请求一组资源时,先确定是 ...

  4. 函数式编程中的战斗机(二) --运用elm语言MUV设计模式做一个简单的应用实例

    @函数式编程中的战斗机(二) -运用elm语言MUV设计模式做一个简单的应用实例 1 elm语言设计模式的特点 1.1 面向对象设计模式的特点 每种编程语言都有其独特的语法和优缺点,从而导致与众不同的 ...

  5. matlab编写正整数阶乘函数,用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值....

    点击查看用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值.具体信息 答:编写一个matlab文件,求1到n的阶乘之和.其代码编写的目的,就是学会自定义 ...

  6. c语言源程序总是由一个或多个函数组成,2016年中山大学卡内基梅隆大学C语言程序设计复试笔试仿真模拟题...

    一.选择题 1. 有以下程序 则以下函数调用语句错误的是( ). A. B. C. D. 答:A [解析]返回值是int ; 声明了一个函数指针,它可以指向一个函数,该函数的形参是两个int ,是把函 ...

  7. 实现一个简单的trim函数,用于去除一个字符串,头部和尾部的空白字符

    // 实现一个简单的trim函数,用于去除一个字符串,头部和尾部的空白字符 // 假定空白字符只有半角空格.Tab // 练习通过循环,以及字符串的一些基本方法,分别扫描字符串str头部和尾部是否有连 ...

  8. C语言游戏脚本:一个简单的内存脚本!

    通过 C 语言编写一个简单的外挂,通过 API 函数修改游戏数据,从而实现作弊功能 ● 对象分析 ● 要用的 API 函数简单介绍 ● 编写测试效果 ● 总体评价 对象分析 本次游戏对象为 Super ...

  9. C 语言进阶:造一个简单的浏览器

    前言 本教程将通过一个简单的仿浏览器界面的程序,向你介绍关于构建图形界面程序的基础知识,掌握这些知识后,你将会对图形界面开发有更加深刻的理解. 你可以提前预览我们要写的程序的最终效果,它的源代码已经上 ...

最新文章

  1. Bittrex交易所宣布:BCH正式加入美元交易市场
  2. 使用VS2010调用matlab的mat格式文件
  3. leetcode 528. Random Pick with Weight
  4. python画出心形图-python如何绘制心形
  5. 你知道铅酸蓄电池的常见失效模式吗?
  6. Spring_02 注入类型值、利用引用注入类型值、spring表达式、与类相关的注解、与依赖注入相关的注解、注解扫描...
  7. 关于微信精选留言点赞刷赞之公众号评论点赞及文章评论点赞软件使用方法
  8. 二维码中间嵌入logo
  9. java水电费收费系统_java水电费管理系统
  10. DataFactory造数-常用的数据产生方式
  11. 推荐一款HTML在线编辑器
  12. 08-CSS属性:定位属性
  13. Maven——Maven核心概念——史上最烂系列
  14. Java 基础笔记代码 流
  15. 考研小纪2---考研经历分享(华科计算机)
  16. idea打开接口实现类快捷键
  17. 如何使用51单片机自制音乐盒
  18. C语言求解定积分(蒙特卡罗方法)
  19. Linux 系统搭建 Web 服务器
  20. 2022美亚杯个人赛

热门文章

  1. 8月1日国人常用免费杀软BT病毒库测试
  2. 求素数的几种方法(通俗易懂)
  3. Linux可视化管理工具Cockpit
  4. 利用Pyproj进行地理投影坐标系转换
  5. i++和++i的联系和区别
  6. 调起地图(高德、百度、Apple、Google)URL API
  7. Vue3 + Ts的记住密码实现
  8. 2009年12月12日
  9. 关于Looper的使用
  10. mysql读取工具下载_百度云文件数据库读取工具