【发布时间】:2018-12-19 02:24:20
【问题描述】:
我有几个方程式,需要将其转换为 Python。问题是我试图根据方程式绘制图表。但是,我得到的图表与原来的不一样。
论文中MIM攻击的错误概率方程为:
第一张图片
第二张图片
PNS攻击错误概率的计算公式为:
满足区域条件的地方:
PNS 攻击的错误概率应该是这样绘制的:
我的问题:如何将方程 8.1 插入方程 8.5?
这是我根据公式 8.5 编写的 python 代码:
import matplotlib.pyplot as plt
import math
import numpy as np
from scipy.special import iv,modstruve
x=[0, 5, 10, 15, 20]
t= 0.9
x = np.array(x)
y = (np.exp(x*t/2)*(iv(0, x*t/2) - modstruve(0,x*t/2))-1)/(np.exp(x*t/2-1))
plt.plot(x, y, label='Normal')
plt.xlabel('Mean photon number N')
plt.ylabel('Error probabiity')
plt.scatter(x,y)
plt.title('N/2')
plt.ylim([0, 0.5])
plt.legend()
plt.show()
请帮我解决这个问题。
谢谢。
【问题讨论】:
-
你的代码语法正确吗?看起来您在该行中缺少一些括号:
y = (np... -
我认为@Fallenreaper 的意思是,例如,该行中的分母应该是
np.exp(x) - 1?目前它与您在 TeX 版本的方程式8.5中显示的内容不匹配。 -
另外,不清楚您所说的“将
8.1插入8.5”是什么意思。这两个 eq 没有任何共同的术语,至少在8.5的最终简化形式中没有。 -
试试这个 StackExchange:math.stackexchange.com
-
sympy 甚至可能会有所帮助,如果您的方程式可以用它的语法编写
标签: python matplotlib scipy equation