import numpy as np
import matplotlib.pyplot as plt
x1 = 0
x2 = 0
y1 = 1
y2 = 1
h = 0.1
X1 = np.zeros(100)
Y1= np.zeros(100)
X2 = np.zeros(100)
Y2 = np.zeros(100)
def f(x, y):
return y - 2 * (x / y)
for i in range(0,100):
y1 = y1 + 0.05 * ( f(x1, y1) + f( x1 + h, y1 + 0.1 * f(x1, y1)) )
x1 = x1 + h
Y1[i] = y1
X1[i] = x1
print(Y1[i], X1[i])
1.0929761904761905 0.1
1.1778321038457131 0.2
1.256135190384483 0.30000000000000004
1.3289255090966436 0.4
1.3969131621203812 0.5
1.4605841666711676 0.6
1.5202605105195306 0.7
1.5761349500530002 0.7999999999999999
1.6282905854696912 0.8999999999999999
1.6767103568548303 0.9999999999999999
1.72127910216094 1.0999999999999999
1.7617793927441254 1.2
1.797881423902427 1.3
1.8291264816568051 1.4000000000000001
1.8549027339756012 1.5000000000000002
1.8744111200174338 1.6000000000000003
1.8866176893489026 1.7000000000000004
1.8901864643978414 1.8000000000000005
1.8833829877262636 1.9000000000000006
1.8639315774100327 2.0000000000000004
1.828795420987003 2.1000000000000005
1.7738195031189075 2.2000000000000006
1.6931093964581405 2.3000000000000007
1.577845810541459 2.400000000000001
1.4137099967220328 2.500000000000001
1.174089343413283 2.600000000000001
0.7949418090592373 2.700000000000001
-0.04581579648560541 2.800000000000001
6.318660264291585 2.9000000000000012
6.872599825938077 3.0000000000000013
7.487986961757877 3.1000000000000014
8.171120444650981 3.2000000000000015
8.928900498648225 3.3000000000000016
9.768897372230537 3.4000000000000017
10.699426725532945 3.5000000000000018
11.72963231112202 3.600000000000002
12.869576554388049 3.700000000000002
14.130339767590321 3.800000000000002
15.524128858878676 3.900000000000002
17.064396524048437 4.000000000000002
18.765972035730275 4.100000000000001
20.64520487440429 4.200000000000001
22.720122580697907 4.300000000000001
25.010604351625872 4.4
27.538572057451173 4.5
30.328200523269526 4.6
33.406149102719375 4.699999999999999
36.80181677279951 4.799999999999999
40.54762320102935 4.899999999999999
44.67931848155403 4.999999999999998
49.236324507826716 5.099999999999998
54.26211124890561 5.1999999999999975
59.804611527107404 5.299999999999997
65.91667825994776 5.399999999999997
72.65658853245989 5.4999999999999964
80.08859931095043 5.599999999999996
88.28356010025172 5.699999999999996
97.31958838822197 5.799999999999995
107.28281431876972 5.899999999999995
118.2682016937123 5.999999999999995
130.38045313058015 6.099999999999994
143.73500800496015 6.199999999999994
158.45914268975415 6.299999999999994
174.69318357822402 6.399999999999993
192.59184445217699 6.499999999999993
212.32570094134522 6.5999999999999925
234.08281612621423 6.699999999999992
258.0705327766962 6.799999999999992
284.5174493068464 6.8999999999999915
313.67559827640883 6.999999999999991
345.82284820003173 7.099999999999991
381.26555155290185 7.19999999999999
420.34146420758645 7.29999999999999
463.4229641233958 7.39999999999999
510.92059996123567 7.499999999999989
563.2870034408808 7.599999999999989
621.0212027238244 7.699999999999989
684.6733779263831 7.799999999999988
754.8501040809623 7.899999999999988
832.2201315084866 7.999999999999988
917.5207586862086 8.099999999999987
1011.5648583412612 8.199999999999987
1115.2486237251887 8.299999999999986
1229.5601088876226 8.399999999999986
1355.5886443336424 8.499999999999986
1494.535217791298 8.599999999999985
1647.7239190127455 8.699999999999985
1816.614557672123 8.799999999999985
2002.8165746022783 8.899999999999984
2208.1043789372925 8.999999999999984
2434.434257315874 9.099999999999984
2683.963016281604 9.199999999999983
2959.0685355324695 9.299999999999983
3262.372427881515 9.399999999999983
3596.76502186628 9.499999999999982
3965.432905078334 9.599999999999982
4371.889290686522 9.699999999999982
4820.007496531112 9.799999999999981
5314.057855827187 9.89999999999998
5858.748411217088 9.99999999999998
for i in range(0,100):
y2 = 1.1 * y2 - 0.2 * (x2 / y2)
x2 = x2 + h
Y2[i] = y2
X2[i] = x2
print(Y2[i], X2[i])
1.1 0.1
1.191818181818182 0.2
1.277437833714722 0.30000000000000004
1.35821259956029 0.4
1.4351329186577972 0.5
1.5089662535663324 0.6
1.580338237655218 0.7
1.6497834310477122 0.7999999999999999
1.717779347860088 0.8999999999999999
1.7847708324979834 0.9999999999999999
1.8511887110822296 1.0999999999999999
1.917465025144291 1.2
1.984046272046332 1.3
2.0514055684725467 1.4000000000000001
2.1200543441219546 1.5000000000000002
2.190553971934533 1.6000000000000003
2.2635275998130764 1.7000000000000004
2.339672339345207 1.8000000000000005
2.419771873967288 1.9000000000000006
2.504709464330856 2.0000000000000004
2.595481249764899 2.1000000000000005
2.6932096736597324 2.2000000000000006
2.7991568033689833 2.3000000000000007
2.914737281245499 2.400000000000001
3.0415306441486285 2.500000000000001
3.181292795402083 2.600000000000001
3.335966513495211 2.700000000000001
3.507691036387956 2.800000000000001
3.6988109593575618 2.9000000000000012
3.9118849066249957 3.0000000000000013
4.149694651664416 3.1000000000000014
4.415255533297773 3.2000000000000015
4.711829113820219 3.3000000000000016
5.042939033576937 3.4000000000000017
5.412390933993009 3.5000000000000018
5.824297167194873 3.600000000000002
6.283106817950801 3.700000000000002
6.793641370604512 3.800000000000002
7.36113619361956 3.900000000000002
7.991287909888882 4.000000000000002
8.690307681027537 4.100000000000001
9.464980455133118 4.200000000000001
10.322730298367317 4.300000000000001
11.271692036022365 4.4
12.320789553742157 4.5
13.479821242455882 4.6
14.759553203479546 4.699999999999999
16.1718209590997 4.799999999999999
17.72964053779977 4.899999999999999
19.447329923268757 4.999999999999998
21.340641974831755 5.099999999999998
23.42691004691238 5.1999999999999975
25.725207659648923 5.299999999999997
28.256523704780307 5.399999999999997
31.04395481310721 5.4999999999999964
34.11291666469445 5.599999999999996
37.491376192797986 5.699999999999996
41.21010681943666 5.799999999999995
45.30296906669943 5.899999999999995
49.80721911541924 5.999999999999995
54.76384813397673 6.099999999999994
60.217955477080224 6.199999999999994
66.21915915995032 6.299999999999994
72.82204735019371 6.399999999999993
80.08667499082237 6.499999999999993
88.07911007670793 6.5999999999999925
96.87203455693935 6.699999999999992
106.54540533113622 6.799999999999992
117.18718135323435 6.8999999999999915
128.89412345653736 6.999999999999991
141.77267417434913 7.099999999999991
155.93992555725364 7.19999999999999
171.52468378767807 7.29999999999999
188.66864027201905 7.39999999999999
207.52765985831195 7.499999999999989
228.2731978919703 7.599999999999989
251.0938589931828 7.699999999999989
276.19711172777073 7.799999999999988
303.8111747603836 7.899999999999988
334.18709163772365 7.999999999999988
367.60101306420745 8.099999999999987
404.3567074186819 8.199999999999987
444.7883223356561 8.299999999999986
489.26342245685134 8.399999999999986
538.1863309694535 8.499999999999986
592.0018053091021 8.599999999999985
651.199080443467 8.699999999999985
716.3163164938686 8.799999999999985
787.9454911281639 8.899999999999984
866.7377812014655 8.999999999999984
953.4094825689436 9.099999999999984
1048.748521887409 9.199999999999983
1153.6216196040705 9.299999999999983
1268.982169250727 9.399999999999983
1395.878904673502 9.499999999999982
1535.4654339912613 9.599999999999982
1689.0107269552052 9.699999999999982
1857.9106510493766 9.799999999999981
2043.7006612058437 9.89999999999998
2248.0697584957 9.99999999999998
plt.plot(X1, Y1, ls='-', lw=2, label='cosine', color='purple')
plt.plot(X2, Y2, ls='-', lw=2, label='cosine', color='blue')
plt.legend()
plt.xlabel('X')
plt.ylabel('Y')
plt.show()