質問編集履歴
1
アドバイスを元にした変更を行いました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,61 @@
|
|
1
|
-
|
1
|
+
```Python
|
2
|
+
import matplotlib.pyplot as plt
|
2
3
|
|
4
|
+
a = 1200
|
5
|
+
b = 1800
|
6
|
+
L = 3000
|
7
|
+
|
8
|
+
print("E")
|
9
|
+
E = input()
|
10
|
+
E = int(E)
|
11
|
+
|
12
|
+
print("I")
|
13
|
+
I = input()
|
14
|
+
I = int(I)
|
15
|
+
|
16
|
+
print("P")
|
17
|
+
P = input()
|
18
|
+
P = int(P)
|
19
|
+
|
20
|
+
print("E2")
|
21
|
+
E2 = input()
|
22
|
+
E2 = int(E2)
|
23
|
+
|
24
|
+
print("I2")
|
25
|
+
I2 = input()
|
26
|
+
I2 = int(I2)
|
27
|
+
|
28
|
+
print("P2")
|
29
|
+
P2=input()
|
30
|
+
P2=int(P2)
|
31
|
+
|
32
|
+
def f(x_i) :
|
33
|
+
if x_i < a:
|
34
|
+
return (b * P) * (-x_i**3 + a * (a + 2 * b) * x_i) / (6 * E * I * L)
|
35
|
+
else:
|
36
|
+
return (a * P) / (6 * E * I * L) * (-(L - x_i)**3 + b * (2 * a + b) * (L - x_i))
|
37
|
+
|
38
|
+
if x_i < a:
|
39
|
+
return (b * P2) * (-x_i**3 + a * (a + 2 * b) * x_i) / (6 * E2 * I2 * L)
|
40
|
+
else:
|
41
|
+
return (a * P2) / (6 * E2 * I2 * L) * (-(L - x_i)**3 + b * (2 * a + b) * (L - x_i))
|
42
|
+
|
43
|
+
x = list(range(L))
|
44
|
+
y=list(map(f,x))
|
45
|
+
y2=list(map(f,x))
|
46
|
+
|
47
|
+
plt.grid(which="major", color="gray", linestyle="-")
|
48
|
+
plt.xlim(0, L)
|
49
|
+
plt.ylim(min(y) - 1, max(y) + 1)
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
plt.plot(x, y, label = "label-A")
|
54
|
+
plt.plot(x,y2, label = "label-B")
|
55
|
+
plt.legend(loc = 'lower right')
|
56
|
+
plt.show()
|
57
|
+
```### 前提・実現したいこと
|
58
|
+
|
3
59
|
for文をmap文にして繰り返しをおこないたい
|
4
60
|
|
5
61
|
|