python - 如何使用 Python 绘制积分方程?
问题描述
我有一些积分方程,需要将其转换为 Python。问题是当我尝试根据方程绘制图形时,有些图形与原始图形不同。
第二个等式是MIM攻击下认证的错误概率:
错误概率可以通过下式计算:
假设,图表(原始)将显示如下:
Pe^normal = 蓝线
Pe^MIM = 红线
两个错误概率之间的差异 = 绿线
我试图将它编码成 Python,这是我的完整代码:
import matplotlib.pyplot as plt
import math
import numpy as np
from scipy.special import iv,modstruve
x=np.arange(0.1,21,1)
x = np.array(x)
t = 0.9
y = (np.exp(t*x/2)*(iv(0, t*x/2) - modstruve(0,t*x/2))-1)/(np.exp(t*x)-1)
z = (np.exp((1-t**2)*x/2)*(iv(0, (1-t**2)*x/2) - modstruve(0,(1-t**2)*x/2))-1)/(np.exp((1-t**2)*x)-1)
z2= y+z
plt.plot(x, y,'o', color='red',label='Normal')
plt.plot(x, z2, '-', color='black', label='MIM')
plt.plot(x, z, marker='s', linestyle='--', color='g', label='DIFF')
plt.xlabel('Mean photon number N')
plt.ylabel('Error probabiity')
plt.scatter(x,y)
plt.text(10, 0.4, 't=0.9', size=12, ha='center', va='center')
plt.ylim([0, 0.5])
plt.xlim([0, 20])
plt.legend()
plt.show()
在 Pe^MIM 的 N=0 (红线)和两个错误概率之间的差异(绿线)方面,我的情节看起来与原始情节不同。
我希望任何人都可以帮助我解决这个问题。
谢谢你。