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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2414閲覧

Jupyter notebookにて、matplotlibを用いて、収束する関数、発散する関数の一部を、グラフとして表示したいです。

jack_kanzaki

総合スコア106

Jupyter

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/08/12 05:31

下記の下記のコードにて、conv_values = convergence(x),diff_values = diffusion(x)では括弧内に、xと置いたところ、エラーコードが表示されてしまいました。
加えて、ネイピア数の定義する場所を、いろいろと変えてみたのですが、なかなかうまくいかない状況となっています。
それぞれ、どのように改善していけばよいのか、ご教授願います。

python

1import numpy as np 2import matplotlib.pyplot as plt 3import math 4 5#convergence 6def convergence(): 7 #define Napier 8 math = math.e 9 y = x / (e**x) 10 11#diffusion 12def diffusion(): 13 #define Napier 14 math = math.e 15 y = (e**x) / x 16 17 18def main(): 19 x = np.arange(-10,10,0.1) 20 conv_values = convergence(x) 21 diff_values = diffusion(x) 22 23 #draw graph 24 plt.plot(x,conv_values,'-') #blue 25 plt.plot(x,diff_values,'-',color='red') #red 26 plt.grid() 27 plt.show() 28 29if __name__ == '__main__': 30 main()

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

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

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

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

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

guest

回答1

0

ベストアンサー

たぶん、やりたいことはこうなのではないか、と思うのですが、こうすると意図通りになりまでしょうか?

#convergence def convergence(x): #define Napier return x / (math.e**x) #diffusion def diffusion(x): #define Napier return (math.e**x) / x

■ 追記1

あと、jupyterでグラフ表示するなら

%matplotlib inline

という1行(おまじない)をnoteの先頭に書いておくと良いと思います。

投稿2019/08/12 05:37

編集2019/08/12 05:40
mokemokechicken

総合スコア948

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

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

jack_kanzaki

2019/08/12 06:52

ValueError: x and y must have same first dimension, but have shapes (200,) and (100,) 依然としてこのようなエラーが出てしまいました。 def main(): x = np.arange(-10,10,0.1) conv_values = convergence(x) diff_values = diffusion(x) の箇所ではxをカッコ内に設定したのですが、それがうまく機能していないのかな、と考え、削除したりと試みたのですが、なかなかうまくいきませんでした。
mokemokechicken

2019/08/12 06:58

その ValueError が出た箇所はどこになりますか? 前後のエラーメッセージを教えてもらえますでしょうか。 ※ 私の手元だと、少なくとも plot の前までは問題なく動作しています
jack_kanzaki

2019/08/12 08:04

import numpy as np import matplotlib.pyplot as plt %matplotlib inline import math #convergence def convergence(): return x / (math.e**x) #diffusion def diffusion(): return (math.e**x) / x def main(): x = np.arange(-10,10,0.1) conv_values = convergence(x) diff_values = diffusion(x) #draw graph plt.plot(x,conv_values,'-') #blue plt.plot(x,diff_values,'-',color='red') #red plt.grid() plt.show() if __name__ == '__main__': main() この場合だと、17行目のところで、 TypeError: convergence() takes 0 positional arguments but 1 was given というエラーが出ています。
jack_kanzaki

2019/08/12 08:05

import numpy as np import matplotlib.pyplot as plt %matplotlib inline import math #convergence def convergence(): return x / (math.e**x) #diffusion def diffusion(): return (math.e**x) / x def main(): x = np.arange(-10,10,0.1) conv_values = convergence() diff_values = diffusion() #draw graph plt.plot(x,conv_values,'-') #blue plt.plot(x,diff_values,'-',color='red') #red plt.grid() plt.show() if __name__ == '__main__': main() この場合だと、plt.plotのところで、 ValueError: x and y must have same first dimension, but have shapes (200,) and (100,) のエラーが出ています。
jack_kanzaki

2019/08/12 08:06

def main(): x = np.arange(-10,10,0.1) conv_values = convergence(x) diff_values = diffusion(x) の箇所ではxをカッコ内に設定したのですが、それがうまく機能していないのかな、と考え、削除したりと試みたのですが、なかなかうまくいきませんでした。 これに関して、2つ試してみた結果を、書かせていただきました。
jack_kanzaki

2019/08/12 08:07

素早いお返事、どうもありがとうございます。
mokemokechicken

2019/08/12 08:14

まず、 少なくとも私が書いたように def convergence(x) と def diffusion(x) にしないとダメだと思います。 その上で conv_values = convergence(x) とする感じです。
jack_kanzaki

2019/08/12 09:25

おっしゃる通りでした。 どうもありがとうございます。 解決致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問