C/C++ 内使用贝塞尔函数
今天在捣鼓MMSE,倒在了贝塞尔函数上,翻找好久,原来C++的cmath里有。
官方文档在这里:
https://docs.microsoft.com/en-us/cpp/standard-library/cmath?view=vs-2019#regular-modified-cylindrical-bessel-functions
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn?view=vs-2019
第一个链接中是C++,引入cmath,可以调用四种贝塞尔函数。使用以下函数必须支持C++ 17标准,请注意在项目属性中进行设置。
(项目-属性-常规-C++标准,下拉选择C++ 17)
首先给我这条九漏鱼提个醒,
Bessel functions for integer α are also known as cylinder functions or the cylindrical harmonics because they appear in the solution to Laplace’s equation in cylindrical coordinates。
第一类贝塞尔函数:
double cyl_bessel_j(double nu, double x);float cyl_bessel_jf(float nu, float x);long double cyl_bessel_jl(long double nu, long double x);
第一类修正的贝塞尔函数,官方文档的 Regular modified cylindrical Bessel functions。我思考了很久它到底是不是 Modified Bessel functions of the first kind…如果不是在stackoverflow里看到一位朋友说:
By regular and irregular, I presume you mean regular or modified Bessel functions.
我可能真的以为这是什么很高深的函数…看来这个说法也不怎么普遍。官方文档里的命名也是让我很不解…我刚刚一拍脑袋,我明明可以看中文版啊,过去切换语言一看——害,是机翻。
double cyl_bessel_i(double nu, double x);
float cyl_bessel_if(float nu, float x);
long double cyl_bessel_il(long double nu, long double x);
第二类贝塞尔函数,AKA Weber functions 、Neumann functions。
double cyl_neumann(double nu, double x);
float cyl_neumannf(float nu, float x);
long double cyl_neumannl(long double nu, long double x);
第二类修正的贝塞尔函数,官方文档里的 Irregular modified cylindrical Bessel functions。
double cyl_bessel_k(double nu, double x);
float cyl_bessel_kf(float nu, float x);
long double cyl_bessel_kl(long double nu, long double x);
第二个链接中是math.h中关于贝塞尔函数的说明。
如果在C中,引入math.h以后的函数调用与C++不同。math.h里的贝塞尔函数只能调用整数阶的,感觉没有C++那么自由。
double _j0(double x);
double _j1(double x);
double _jn(int n, double x);
double _y0(double x);
double _y1(double x);
double _yn(int n, double x);
以下是官方示例。
// crt_bessel1.c
#include <math.h>
#include <stdio.h>int main( void )
{double x = 2.387;int n = 3, c;printf( "Bessel functions for x = %f:\n", x );printf( " Kind Order Function Result\n\n" );printf( " First 0 _j0( x ) %f\n", _j0( x ) );printf( " First 1 _j1( x ) %f\n", _j1( x ) );for( c = 2; c < 5; c++ )printf( " First %d _jn( %d, x ) %f\n", c, c, _jn( c, x ) );printf( " Second 0 _y0( x ) %f\n", _y0( x ) );printf( " Second 1 _y1( x ) %f\n", _y1( x ) );for( c = 2; c < 5; c++ )printf( " Second %d _yn( %d, x ) %f\n", c, c, _yn( c, x ) );
}
总结,还是要多学习唉。
[1] https://encyclopedia.thefreedictionary.com/Bessel+function
C/C++ 内使用贝塞尔函数相关推荐
- matlab第一类修正贝塞尔函数,bessel(第一类修正贝塞尔函数)
MATLAB提供了计算贝塞尔函数的函数,具体包来括:besselj - 第一类贝塞尔函数,或简称贝塞尔函数:bessely - 第二类贝塞尔函数,又称诺伊曼函数(Neumann . 对光纤中传播的电磁 ...
- VBA与Excel内置的函数
了解VBA与Excel内置的函数,能够使我们处理起任务来事半功倍.这些函数不仅使用方便,而且效率一般都比较高(有些是例外的,特别是某些工作表函数),比我们自己写的要高效的多. VBA内置的函数 VBA ...
- 贝塞尔函数(原理与实现)
程序实现: // crt_bessel1.c #include <math.h> #include <stdio.h>int main( void ) {double x = ...
- 贝塞尔函数Bessel(原理与实现)
程序实现: // crt_bessel1.c #include <math.h> #include <stdio.h> int main( void ) { double x ...
- COMSOL中内置数学函数及内置运算符
前言 最近想通过COMSOL实现一些比较高级的操作,就对内置数学函数和内置运算符相关章节的帮助文档进行了阅读.在COMSOL中使用各类算子及运算符能够在建模时起到很大的帮助,本文将对帮助文档中的相应章 ...
- 贝塞尔函数 c语言程序,贝塞尔函数Bessel(原理与实现)
程序实现: // crt_bessel1.c #include #include int main( void ) { double x = 2.387; int n = 3, c; printf( ...
- matlab贝塞尔函数特征值,第十一章 贝塞尔函数
<第十一章 贝塞尔函数>由会员分享,可在线阅读,更多相关<第十一章 贝塞尔函数(96页珍藏版)>请在人人文库网上搜索. 1.第十一章 柱函数,10.1 柱函数,一.柱坐标下的分 ...
- matlab 贝塞尔函数 虚数,贝塞尔函数及其应用.doc
贝塞尔函数及其应用贝塞尔函数及其应用 题目: 贝塞尔函数及其应用 摘 要 贝塞尔方程是在柱坐标或球坐标下使用分离变量法求解拉普拉斯方程时得到的,因此它在波动问题以及各种涉及有势场的问题的研究中占有非常 ...
- 整数阶贝塞尔函数c语言,整数阶复宗量变形贝塞尔函数的计算
整数阶复宗量变形贝塞尔函数的计算 根据整数阶复宗量变形贝塞尔函数模值随阶数n的变化趋势 ,给出了其数值计算 (本文共4页) 阅读全文>> 鉴于目前的算法程序集中没有现成的计算复宗量贝塞尔函 ...
最新文章
- Linux内核网络数据包发送(四)——Linux netdevice 子系统
- matlab 高斯一阶导,将Matlab高斯导数转换为Opencv
- 视觉SLAM总结——后端总结
- Apache2启动错误以及Ubuntu update的错误
- Cortex - M3 中断和异常的区别
- python爬图片 beautifulsoup_【Python爬虫】基于BeautifulSoup的微博图片爬虫
- VMware Tools安装和卸载
- 使用Navicat为数据库表建立触发器
- hibernate事务详解
- Bailian2742 Number of letters【入门】
- 20145236《网络攻防》 Exp3 免杀原理与实践
- matlab画图 横坐标为年月
- 用freeswitch建立呼叫中心系统的经验
- 请求头添加token
- 无法访问https://element.eleme.cn和https://element.eleme.io
- Linux 脚本修改ps1,Ubuntu修改命令提示符PS1教程(非常详细)
- 小程序调用服务器图片错误,微信小程序列表图片加载错误处理
- TOGAF架构愿景阶段经常用到的3种经典分析模型
- Matlab曲线拟合(2)(自用笔记)
- 前端页面局部(全局)刷新方法