我有一些积分方程,需要将其转换为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(红线)和两个错误概率之间的差(绿线)而言,我的图看起来与原始图不相同。
我希望有人可以帮助我解决这个问题。
谢谢。