热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NANA:音乐与梦想的交织之旅

NANA介绍前言NANA库的功能解方程统计理论运算库实现矩阵运算数值分析算法仿生学算法神经网络笔者的话前言NANA库是笔者用C实现的SDK,笔者希望其成为一个用于教学


NANA介绍

  • 前言
  • NANA库的功能
    • 解方程
    • 统计理论运算库
    • 实现矩阵运算
    • 数值分析算法
    • 仿生学算法
    • 神经网络
  • 笔者的话


前言

  NANA库是笔者用C++实现的SDK,笔者希望其成为一个用于教学和数学爱好者学习数学的SDK。读者可以访问NANA源代码下载源代码。访问NANA相关文档查看相关文档。笔者希望给大家带来更丰富的内容,更稳定的SDK。


NANA库的功能


解方程

  例如,一元二次方程的解法

/** ret返回值&#xff1a;1表示有两个是根* 0 两个相等的根* -1两个虚根* -2 */int QuadraticEquationSolving(double a, double b, double c, Complex &x1, Complex & x2) {if (fabs(a) <&#61; eps)return -2;//不满足条件int ret;double d &#61; b * b - 4.0*a*c;double r1, r2;double i1 &#61; 0.0;double i2 &#61; 0.0;double temp;if (d > fabs(eps)) {double root &#61; sqrt(d);temp &#61; -b - sign(b)*root;r1 &#61; 2.0 * c / temp;r2 &#61;temp / 2 / a;ret &#61; 1;}else if(fabs(d)<&#61;fabs(eps)){double root &#61; sqrt(d);temp &#61; -b - sign(b)*root;r2 &#61; r1 &#61; 2 * c / temp; ret &#61; 0;}else {double doua &#61; 2.0*a;r1 &#61; r2 &#61; -b / (doua);i1 &#61; sqrt(-d)/ doua;i2 &#61; -i1;ret &#61; -1;}x1 &#61; Complex(r1, i1);x2 &#61; Complex(r2, i2);return ret;}

统计理论运算库

  例如&#xff0c;Box-muller变换生成正态分布的随机数

/**randn返回0-1的正态分布的随机数*类型T 允许的三种形式float double long double*/
template
void randn(T & y, uint seed &#61; 0, bool flag &#61; false) {if (!flag) {srand(time(NULL));}else {srand(seed);}T x1, x2;x1 &#61; rand() % RAND_MAX / (T)RAND_MAX;x2 &#61; rand() % RAND_MAX / (T)RAND_MAX;y &#61; sqrt(-2 * log(x1))*cos(2.0 * NA_PI*x2);
}

实现矩阵运算

在这里插入图片描述


数值分析算法


仿生学算法

  GA模块中提供了遗传算法的实现过程
在这里插入图片描述


神经网络


笔者的话

  笔者郑重承诺&#xff0c;NANA将永远免费&#xff0c;且在笔者能够码得动代码的岁月里&#xff0c;一直更新下去。


推荐阅读
author-avatar
叔叔123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有