Convert an equation to Python

  • #1
Nur Ziadah
35
3
I have several equations and need to convert it into Python. The problem is that I tried to plot a graph according to the equation. However, the graph that I get is not the same as the original one.

In the paper, the equation of error probability for MIM attack is given by:

First Image
jlPMh.png

Second Image
h99h4.png

The equation to calculate the error probability of PNS attack is given by:
7CsYR.png

Where the region condition satisfied:
0Bxa3.png

The error probability of PNS attack should be plotted like this:
1IwAa.png

My question: How to insert equation 8.1 into equation 8.5?

This is my python code according to equation 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()

Please help me regarding this matter.

Thank you.
 

Attachments

  • jlPMh.png
    jlPMh.png
    3.3 KB · Views: 989
  • h99h4.png
    h99h4.png
    9.7 KB · Views: 981
  • 7CsYR.png
    7CsYR.png
    3.9 KB · Views: 967
  • 0Bxa3.png
    0Bxa3.png
    1.5 KB · Views: 873
  • 1IwAa.png
    1IwAa.png
    20.2 KB · Views: 942

Answers and Replies

  • #2
14,288
8,316
When x=0 then N=0 hence the denominator is zero and so you are dividing zero according to the equation.

In your code, you misplaced the last paren. it should look like this:

Python:
y = (   np.exp(x*t/2) * (iv(0,x*t/2) - modstruve(0,x*t/2)) - 1   )  /  (np.exp(x*t/2) - 1)

This code now gives a runtime divide error at zero but the curve looks more like what you want.
 
  • #3
Nur Ziadah
35
3
Thank you so much. Finally I did plot the graph.
 

Suggested for: Convert an equation to Python

  • Last Post
Replies
1
Views
128
  • Last Post
Replies
10
Views
1K
  • Last Post
Replies
24
Views
873
  • Last Post
Replies
5
Views
882
Replies
6
Views
634
  • Last Post
Replies
4
Views
915
  • Last Post
Replies
9
Views
866
  • Last Post
Replies
13
Views
794
  • Last Post
Replies
9
Views
580
Replies
0
Views
380
Top