第一类修正贝塞尔函数的C语言实现

第一类修正贝塞尔函数公式

Iν(z)=(z2)ν∑(k=0)∞(z24)kk!Γ(ν+k+1)I_{\nu}(z)=\left(\frac{z}{2}\right)^{\nu} \sum_{(k=0)}^{\infty} \frac{\left(\frac{z^{2}}{4}\right)^{k}}{k ! \Gamma(\nu+k+1)}Iν(z)=(2z)ν(k=0)k!Γ(ν+k+1)(4z2)k

其中,Γ(a)\Gamma(a)Γ(a)是gamma函数。

常量和结构体定义

常量和结构体定义的头文件ConstParam.h在下面文章中
MATLAB库函数hilbert(希尔伯特变换)的C语言实现(FFT采用FFTW库)

第一类修正贝塞尔函数的C语言实现

/* PURPOSE: Evaluate modified Bessel function In(x) and n=0. */
double bessi0(double x)
{double ax, ans;double y;if ((ax = fabs(x)) < 3.75) {y = x / 3.75, y = y * y;ans = 1.0 + y * (3.5156229 + y * (3.0899424 + y * (1.2067492+ y * (0.2659732 + y * (0.360768e-1 + y * 0.45813e-2)))));}else {y = 3.75 / ax;ans = (exp(ax) / sqrt(ax))*(0.39894228 + y * (0.1328592e-1+ y * (0.225319e-2 + y * (-0.157565e-2 + y * (0.916281e-2+ y * (-0.2057706e-1 + y * (0.2635537e-1 + y * (-0.1647633e-1+ y * 0.392377e-2))))))));}return ans;
}/* PURPOSE: Evaluate modified Bessel function In(x) and n=1. */
double bessi1(double x)
{double ax, ans;double y;if ((ax = fabs(x)) < 3.75) {y = x / 3.75, y = y * y;ans = ax * (0.5 + y * (0.87890594 + y * (0.51498869 + y * (0.15084934+ y * (0.2658733e-1 + y * (0.301532e-2 + y * 0.32411e-3))))));}else {y = 3.75 / ax;ans = 0.2282967e-1 + y * (-0.2895312e-1 + y * (0.1787654e-1- y * 0.420059e-2));ans = 0.39894228 + y * (-0.3988024e-1 + y * (-0.362018e-2+ y * (0.163801e-2 + y * (-0.1031555e-1 + y * ans))));ans *= (exp(ax) / sqrt(ax));}return x < 0.0 ? -ans : ans;
}/* PURPOSE: Evaluate modified Bessel function In(x) for n >= 0*/
double bessi(int n, double x)
{int j;double bi, bim, bip, tox, ans;if (n < 0){return -INFINITY;}if (n == 0)return(bessi0(x));if (n == 1)return(bessi1(x));if (x == 0.0)return 0.0;else {tox = 2.0 / fabs(x);bip = ans = 0.0;bi = 1.0;for (j = 2 * (n + (int)sqrt(ACC*n)); j > 0; j--) {bim = bip + j * tox*bi;bip = bi;bi = bim;if (fabs(bi) > BIGNO) {ans *= BIGNI;bi *= BIGNI;bip *= BIGNI;}if (j == n) ans = bip;}ans *= bessi0(x) / bi;return  x < 0.0 && n % 2 == 1 ? -ans : ans;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB库函数firls(最小二乘线性相位FIR滤波器设计)的C语言实现

firls函数功能 FILS设计了一种线性相位FIR滤波器,它可以最小化理想分段线性函数与滤波器在一组期望频带上的幅值响应之间的加权积分平方误差。 b = firls(n,f,a) b = firls(n,f,a,w) b = firls(n,f,a,ftype) b = firls(n,f,a,w,ftype)f是在0和1之间的范围内指定的频率点对的…

数电实验一-初识Multisim和Basys3

特别说明&#xff1a;该系列内容均是本人实验记录&#xff0c;无盗取侵权之嫌&#xff0c;仅供参考&#xff0c;请多动手实践&#xff01; 一、实验目的 详见报告 二、实验仪器设备 详见报告 三、实验设计过程 使用Multisim为Basys3板卡创建一个PLD设计并进行验证。 1.创建P…

自动化学科前沿讲座作业 基于深度学习的工厂人员监测系统设计

1 背景及应用场景 在工业复杂生产环境下&#xff0c;作业人员的安全问题至关重要。大多数工业企业采用人眼观察视频的方式对作业人员位置进行判断&#xff0c;这种方式长时间会使管理者出现疲劳问题&#xff0c;效率非常低下&#xff0c;遇到安全问题也不能进行及时的处理。采用…

MATLAB库函数resample(重采样函数)的C语言实现【姊妹篇1基于std::vector】

resample的原理 MATLAB中resample函数最简单的参数如下: y = resample(x,p,q) 以p/q乘以原始采样速率对输入序列x重新采样。resample在x上应用抗锯齿FIR低通滤波器,补偿滤波器带来的延迟。 根据以下2篇文章 MATLAB库函数upfirdn(分数倍采样率变换)的C语言实现(采用了STL::v…

多重继承java_Java中的多重继承与组合vs继承

多重继承java有时我写了几篇有关Java 继承 &#xff0c; 接口和组成的文章。 在这篇文章中&#xff0c;我们将研究多重继承&#xff0c;然后了解组成优于继承的好处。 Java中的多重继承 多重继承是创建具有多个超类的单个类的能力。 与其他一些流行的面向对象的编程语言&#…

数电实验二-点亮一个数码管(Multisim和Basys3 )

特别说明&#xff1a;该系列内容均是本人实验记录&#xff0c;无盗取侵权之嫌&#xff0c;仅供参考&#xff0c;请多动手实践。 一、实验目的 详见报告 二、实验环境 详见报告 三、实验内容 &#xff08;1&#xff09;基本要求&#xff1a;以Basys3四位拨码开关SW3~SW0为输入…

模拟调频信号FM解调的matlab和C语言实现【姊妹篇1基于std::vector】

本文所需的FM已调信号、原始音频、包络检波法解调后的音频、差分相位法解调后的音频,可通过以下链接进行下载。其中,FM已调信号文件较大共有两百多兆,故截取其部分上传,若有需要完整信号的请留言! FM调制解调音频文件.rar 已调信号:采样率为 F s = 5 m H z Fs=5mHz Fs=

倍福(Beckhoff)嵌入式控制器PLC

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 摘要&#xff1a;与家喻户晓的西门子相比&#xff0c;倍福&am…

fftw-3.3.8库在linux下的的编译和配置

关注公号【逆向通信猿】更精彩!!! 运行环境 Ubuntu 14.04版本以上,64位系统 FFTW库的下载 首先在官网上下载fftw-3.3.8.tar.gz压缩包,解压。本人下载好的压缩包地址:https://download.csdn.net/download/wlwdecs_dn/12904577 FFTW库的生成 首先,将压缩包进行解压,…

tms tck_两个用于Eclipse的TCK –开源到底有什么?

tms tck早在5月&#xff0c;Oracle就向Eclipse Foundation 授予了兼容性测试奖学金 。 在过去的几天里&#xff0c;这引起了媒体的关注&#xff0c;我只是想确保我对整个过程和详细动作有所了解。 看起来像是一见钟情的简单诚实的礼物实际上具有更多的方面。 但是让我们从头开始…

倍福嵌入式控制器PLC各型号简介

CX8000 性能强大的 32 位控制器&#xff0c;集成现场总线和 I/O 接口 CX8000 系列产品是一款可编程控制器&#xff0c;搭载 32 位 ARM 处理器&#xff0c;可用于处理 PLC 程序或用作为上位现场总线系统的从站设备。与 EK 系列总线耦合器&#xff08;EtherCAT 耦合器&#xff0…

循环自相关函数和谱相关密度(一)——公式推导

1 引言 R ^ x α ( f ) ≡ 0 \hat R_x^\alpha (f) \equiv 0 R<

Spring Security with Spring Boot 2.0:密码编码器

在上一篇文章中&#xff0c;我们使用了用户详细信息服务&#xff0c;以便提供一种基于给定用户名从函数加载数据的方法。 用户详细信息的实现可能由内存机制&#xff0c;sql / no-sql数据库等支持。 选项是无限的。 关于密码存储&#xff0c;我们必须注意的是密码哈希。 出…

第十二届蓝桥杯省赛:试题 A: 卡片(Java)

本题总分&#xff1a;5 分 【问题描述】 小蓝有很多数字卡片&#xff0c;每张卡片上都是数字0到9。 小蓝准备用这些卡片来拼一些数&#xff0c;他想从1开始拼出正整数&#xff0c;每拼一个&#xff0c;就保存起来&#xff0c;卡片就不能用来拼其它数了。 小蓝想知道自己能从1拼…

循环自相关函数和谱相关密度(二)——实信号、复信号模型下的BPSK信号循环谱推导

说明&#xff1a;接上一节循环自相关函数和谱相关密度&#xff08;一&#xff09;——公式推导 7 BPSK信号谱相关密度函数 7.1 实信号模型 BPSK实信号表达式可以写为 r(t)y(t)n(t)r(t) y(t) n(t)r(t)y(t)n(t) s(t)p(t)n(t) s(t)p(t) n(t)s(t)p(t)n(t) ∑n−∞∞a(nT)q(t−…

第十二届蓝桥杯A组省赛填空题Java思路及代码合集(相乘直线货物摆放路径回路计数)

文章目录试题 A: 相乘试题 B: 直线试题 C: 货物摆放试题 D: 路径试题 E: 回路计数试题 A: 相乘 本题总分&#xff1a;5 分 【问题描述】 小蓝发现&#xff0c;他将 1 至 1000000007 之间的不同的数与 2021 相乘后再求除以1000000007 的余数&#xff0c;会得到不同的数。小蓝想…

循环自相关函数和谱相关密度(三)——实信号、复信号模型下的BPSK信号循环谱MATLAB仿真结果及代码

关注公号【逆向通信猿】,循环谱 说明:接上一节循环自相关函数和谱相关密度(二)——实信号、复信号模型下的BPSK信号循环谱推导 7.5 仿真结果 7.5.1 实BPSK信号 符号速率RB = 40,采样率Fs = 960,载波频率fc = 300,符号数N = 1000,矩形成形。

executor线程池框架_如何使用Java 5 Executor框架创建线程池

executor线程池框架Java 5以Executor框架的形式在Java中引入了线程池&#xff0c;它允许Java程序员将任务提交与任务执行分离。 如果要使用Java进行服务器端编程&#xff0c;则线程池是维护系统可伸缩性&#xff0c;鲁棒性和稳定性的重要概念。 对于那些不熟悉Java中的线程池或…

第十二届蓝桥杯A组省赛试题 I: 双向排序(Java)

试题 I: 双向排序 本题总分&#xff1a;25 分 【问题描述】 给定序列 (a1, a2, , an) (1, 2, , n)&#xff0c;即 ai i。 小蓝将对这个序列进行 m 次操作&#xff0c;每次可能是将 a1, a2, , aqi 降序排列&#xff0c; 或者将 aqi , aqi1, , an 升序排列。 请求…

循环自相关函数和谱相关密度(四)——实信号、复信号模型下的QPSK信号循环谱推导

关注公号【逆向通信猿】,口令:循环谱 说明:接上一节循环自相关函数和谱相关密度(三)——实信号、复信号模型下的BPSK信号循环谱MATLAB仿真结果及代码 8 QPSK信号谱相关密度函数 8.1 实信号模型 QPSK实信号表达式可以写为 r ( t ) = y I ( t ) − y Q (