質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

1361閲覧

図を表示しようとしているが、エラーが出て表示できない。

teraboo

総合スコア6

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2020/12/15 06:34

編集2020/12/15 23:59

python

1# リスト 4-5-(1) 2import numpy as np 3import matplotlib.pyplot as plt 4from mpl_toolkits.mplot3d import axes3d 5%matplotlib inline 6 7# ガウス関数 ----------------------------- 8def gauss(x, mu, sigma): 9 N, D = x.shape 10 c1 = 1 / (2 * np.pi)**(D / 2) 11 c2 = 1 / (np.linalg.det(sigma)**(1 / 2)) 12 inv_sigma = np.linalg.inv(sigma) 13 c3 = x - mu 14 c4 = np.dot(c3, inv_sigma) 15 c5 = np.zeros(N) 16 for d in range(D): 17 c5 = c5 + c4[:, d] * c3[:, d] 18 p = c1 * c2 * np.exp(-c5 / 2) 19 return p 20# リスト 4-5-(2) 21x = np.array([[1, 2], [2, 1], [3, 4]]) 22mu = np.array([1, 2]) 23sigma = np.array([[1, 0], [0, 1]]) 24print(gauss(x, mu, sigma)) 25# リスト 4-5-(3) 26X_range0=[-3, 3] 27X_range1=[-3, 3] 28 29# 等高線表示 -------------------------------- 30def show_contour_gauss(mu, sig): 31 xn = 40 # 等高線表示の解像度 32 x0 = np.linspace(X_range0[0], X_range0[1], xn) 33 x1 = np.linspace(X_range1[0], X_range1[1], xn) 34 xx0, xx1 = np.meshgrid(x0, x1) 35 x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)] 36 f = gauss(x, mu, sig) 37 f = f.reshape(xn, xn) 38 f = f.T 39 cont = plt.contour(xx0, xx1, f, 15, colors='k') 40 plt.grid(True) 41 42# 3D 表示 ---------------------------------- 43def show3d_gauss(ax, mu, sig): 44 xn = 40 # 等高線表示の解像度 45 x0 = np.linspace(X_range0[0], X_range0[1], xn) 46 x1 = np.linspace(X_range1[0], X_range1[1], xn) 47 xx0, xx1 = np.meshgrid(x0, x1) 48 x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)] 49 f = gauss(x, mu, sig) 50 f = f.reshape(xn, xn) 51 f = f.T 52 ax.plot_surface(xx0, xx1, f, 53 rstride=2, cstride=2, alpha=0.3, 54 color='blue', edgecolor='black') 55 56# メイン ----------------------------------- 57mu = np.array([1, 0.5]) # (A) 58sigma = np.array([[2, 1], [1, 1]]) # (B) 59Fig = plt.figure(1, figsize=(7, 3)) 60Fig.add_subplot(1, 2, 1) 61show_contour_gauss(mu, sigma) 62plt.xlim(X_range0) 63plt.ylim(X_range1) 64plt.xlabel('$x_0$', fontsize=14) 65plt.ylabel('$x_1$', fontsize=14) 66Ax = Fig.add_subplot(1, 2, 2, projection='3d') 67show3d_gauss(Ax, mu, sigma) 68Ax.set_zticks([0.05, 0.10]) 69Ax.set_xlabel('$x_0$', fontsize=14) 70Ax.set_ylabel('$x_1$', fontsize=14) 71Ax.view_init(40, -100) 72plt.show()

#-----------------------------------------------

実行すると以下のようなエラーが出てその原因が分かりません。

ValueError Traceback (most recent call last)
<ipython-input-42-074e12a40b6e> in <module>
35 Fig = plt.figure(1, figsize=(7, 3))
36 Fig.add_subplot(1, 2, 1)
---> 37 show_contour_gauss(mu, sigma)
38 plt.xlim(X_range0)
39 plt.ylim(X_range1)

<ipython-input-42-074e12a40b6e> in show_contour_gauss(mu, sig)
9 x1 = np.linspace(X_range1[0], X_range1[1], xn)
10 xx0, xx1 = np.meshgrid(x0, x1)
---> 11 x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
12 f = gauss(x, mu, sig)
13 f = f.reshape(xn, xn)

<array_function internals> in reshape(*args, **kwargs)

~\anaconda3\lib\site-packages\numpy\core\fromnumeric.py in reshape(a, newshape, order)
299 [5, 6]])
300 """
--> 301 return _wrapfunc(a, 'reshape', newshape, order=order)
302
303

~\anaconda3\lib\site-packages\numpy\core\fromnumeric.py in _wrapfunc(obj, method, *args, **kwds)
59
60 try:
---> 61 return bound(*args, **kwds)
62 except TypeError:
63 # A TypeError occurs if the object does have such a method in its

ValueError: Non-string object detected for the array ordering. Please pass in 'C', 'F', 'A', or 'K' instead

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2020/12/15 10:18

pythonのコードの一番最初の行のすぐ上に ```python だけの行を追加してください また、pythonのコードの一番最後の行のすぐ下に ``` だけの行を追加してください
jbpb0

2020/12/16 12:01 編集

np.reshape(xx0, xn * xn, 1) は np.reshape(xx0, [xn * xn, 1]) では?
teraboo

2020/12/17 00:07

無事表示できました。ありがとうございました。
guest

回答1

0

自己解決

ご指摘の通り
np.reshape(xx0, xn * xn, 1)

np.reshape(xx0, [xn * xn, 1])
と書き換えて解決しました。ありがとうございました。

投稿2020/12/17 06:08

teraboo

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問