質問編集履歴
2
1回目の修正時にZを10~100000まで100ずつ増加させる旨のコードを削除してしまっていた為、修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,12 +5,13 @@
|
|
5
5
|
|
6
6
|
### 発生している問題・エラーメッセージ
|
7
7
|
```
|
8
|
+
---------------------------------------------------------------------------
|
8
9
|
ValueError Traceback (most recent call last)
|
9
|
-
<ipython-input-
|
10
|
+
<ipython-input-10-60a3432b3cf4> in <module>
|
10
|
-
|
11
|
+
80 Z = Z+100
|
11
|
-
|
12
|
+
81
|
12
|
-
--->
|
13
|
+
---> 82 plt.plot(X, Y)
|
13
|
-
|
14
|
+
83 plt.show()
|
14
15
|
|
15
16
|
~\anaconda3\lib\site-packages\matplotlib\pyplot.py in plot(scalex, scaley, data, *args, **kwargs)
|
16
17
|
2759 @docstring.copy(Axes.plot)
|
@@ -40,7 +41,7 @@
|
|
40
41
|
346 f"shapes {x.shape} and {y.shape}")
|
41
42
|
347 if x.ndim == 1:
|
42
43
|
|
43
|
-
ValueError: x and y can be no greater than 2-D, but have shapes (
|
44
|
+
ValueError: x and y can be no greater than 2-D, but have shapes (1000, 1, 1) and (1000, 1, 1)
|
44
45
|
```
|
45
46
|
|
46
47
|
### 該当のソースコード
|
@@ -116,16 +117,17 @@
|
|
116
117
|
[19.85761403,0.278703355,0.00293372,0],
|
117
118
|
[22.00289643,0.293371952,0.00293372,0]])
|
118
119
|
|
119
|
-
|
120
120
|
X = []
|
121
121
|
Y = []
|
122
122
|
Z = 10
|
123
|
+
while Z <= 100000 :
|
123
|
-
G = np.dot(A.T,A)+Z*np.dot(C.T,C)
|
124
|
+
G = np.dot(A.T,A)+Z*np.dot(C.T,C)
|
124
|
-
H = np.dot(A.T,y)
|
125
|
+
H = np.dot(A.T,y)
|
125
|
-
x = np.dot(np.linalg.inv(G),H)
|
126
|
+
x = np.dot(np.linalg.inv(G),H)
|
126
|
-
X.append((y.T,y)-np.dot(np.dot(np.dot(2,x.T),A.T),y)+np.dot(np.dot(np.dot(x.T,A.T),A),x))
|
127
|
+
X.append(np.dot(y.T,y)-np.dot(np.dot(np.dot(2,x.T),A.T),y)+np.dot(np.dot(np.dot(x.T,A.T),A),x))
|
127
|
-
Y.append(np.dot(np.dot(np.dot(x.T,C.T),C),x))
|
128
|
+
Y.append(np.dot(np.dot(np.dot(x.T,C.T),C),x))
|
128
|
-
|
129
|
+
Z = Z+100
|
130
|
+
|
129
131
|
plt.plot(X, Y)
|
130
132
|
plt.show()
|
131
133
|
```
|
1
文法にミスがあり、そちらを修正したところエラーメッセージも変わったので修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,15 +5,42 @@
|
|
5
5
|
|
6
6
|
### 発生している問題・エラーメッセージ
|
7
7
|
```
|
8
|
-
|
8
|
+
ValueError Traceback (most recent call last)
|
9
|
-
<ipython-input-
|
9
|
+
<ipython-input-15-61455b019f50> in <module>
|
10
|
-
77 x = np.dot(np.linalg.inv(G),H)
|
11
|
-
78 X.append((y.T,y)-np.dot(np.dot(np.dot(2,x.T),A.T),y)+np.dot(np.dot(np.dot(x.T,A.T),A),x))
|
12
|
-
|
10
|
+
79 Y.append(np.dot(np.dot(np.dot(x.T,C.T),C),x))
|
13
11
|
80
|
14
|
-
|
12
|
+
---> 81 plt.plot(X, Y)
|
13
|
+
82 plt.show()
|
15
14
|
|
15
|
+
~\anaconda3\lib\site-packages\matplotlib\pyplot.py in plot(scalex, scaley, data, *args, **kwargs)
|
16
|
+
2759 @docstring.copy(Axes.plot)
|
16
|
-
|
17
|
+
2760 def plot(*args, scalex=True, scaley=True, data=None, **kwargs):
|
18
|
+
-> 2761 return gca().plot(
|
19
|
+
2762 *args, scalex=scalex, scaley=scaley, **({"data": data} if data
|
20
|
+
2763 is not None else {}), **kwargs)
|
21
|
+
|
22
|
+
~\anaconda3\lib\site-packages\matplotlib\axes\_axes.py in plot(self, scalex, scaley, data, *args, **kwargs)
|
23
|
+
1645 """
|
24
|
+
1646 kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D)
|
25
|
+
-> 1647 lines = [*self._get_lines(*args, data=data, **kwargs)]
|
26
|
+
1648 for line in lines:
|
27
|
+
1649 self.add_line(line)
|
28
|
+
|
29
|
+
~\anaconda3\lib\site-packages\matplotlib\axes\_base.py in __call__(self, *args, **kwargs)
|
30
|
+
214 this += args[0],
|
31
|
+
215 args = args[1:]
|
32
|
+
--> 216 yield from self._plot_args(this, kwargs)
|
33
|
+
217
|
34
|
+
218 def get_next_color(self):
|
35
|
+
|
36
|
+
~\anaconda3\lib\site-packages\matplotlib\axes\_base.py in _plot_args(self, tup, kwargs)
|
37
|
+
343 f"have shapes {x.shape} and {y.shape}")
|
38
|
+
344 if x.ndim > 2 or y.ndim > 2:
|
39
|
+
--> 345 raise ValueError(f"x and y can be no greater than 2-D, but have "
|
40
|
+
346 f"shapes {x.shape} and {y.shape}")
|
41
|
+
347 if x.ndim == 1:
|
42
|
+
|
43
|
+
ValueError: x and y can be no greater than 2-D, but have shapes (1, 1, 2) and (1, 1, 1)
|
17
44
|
```
|
18
45
|
|
19
46
|
### 該当のソースコード
|
@@ -95,22 +122,18 @@
|
|
95
122
|
Z = 10
|
96
123
|
G = np.dot(A.T,A)+Z*np.dot(C.T,C)
|
97
124
|
H = np.dot(A.T,y)
|
98
|
-
|
125
|
+
x = np.dot(np.linalg.inv(G),H)
|
99
126
|
X.append((y.T,y)-np.dot(np.dot(np.dot(2,x.T),A.T),y)+np.dot(np.dot(np.dot(x.T,A.T),A),x))
|
100
|
-
Y.append(np.dot(np.dot(x.T,C.T),C),x)
|
127
|
+
Y.append(np.dot(np.dot(np.dot(x.T,C.T),C),x))
|
101
128
|
|
102
129
|
plt.plot(X, Y)
|
103
130
|
plt.show()
|
104
131
|
```
|
105
132
|
|
106
133
|
### 試したことなど
|
107
|
-
plt.plot(X, Y)
|
108
|
-
plt.show()
|
109
|
-
を外して、
|
110
|
-
print(X)
|
111
|
-
を入れてみたところ
|
112
|
-
配列の中が計算された値になっておらず
|
113
|
-
|
134
|
+
matlabで同様の計算をした場合問題なくプロット出来たのですが、
|
135
|
+
pythonで同じ計算を行うとこのようになってしまいまい、
|
114
|
-
|
136
|
+
どこが間違っているのかわからず困っています。
|
137
|
+
|
115
138
|
### 補足情報(FW/ツールのバージョンなど)
|
116
139
|
使用環境:windows64bit, Anaconda
|