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

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

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

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

Q&A

解決済

2回答

587閲覧

数学関数コードに用いられている数値の意味を知りたい

ponponpoon

総合スコア1

Python

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

0グッド

0クリップ

投稿2021/08/16 08:01

前提・実現したいこと

教科書で記述されているコードの中で、なんのために記述されているか不明な数値があり理解したいと思っています。
理解できないところは、数学関数のグラフを記入するためのコードの8行目(xの値を作成するためのコード)「x.append(i0.05math.pi)」になぜ「0.05」がかけられているかについてです。

使用教科書は「やさしいPython /高橋麻奈著 第10刷」で
つまづいているコードは、Lesson12のSample4です。

発生している問題・エラーメッセージ

該当のソースコード

import matplotlib.pyplot as plt

x=[]
s=[]
c=[]

for i in range(50):
x.append(i0.05math.pi)
s.append(math.sin(x[i]))
c.append(math.cos(x[i]))

plt.title("sin/cos functions")
plt.xlabel("rad")
plt.ylabel("value")
plt.grid(True)

plt.plot(x,s,label="sin")
plt.plot(x,c,label="cos")
plt.legend()

plt.show()

試したこと

試しに0.01や0.1など別の数値を入れたところx座標の数値が変わったとことから、特に意味のない数値なのか・・?と考えるようになりました。
それならなんのために0.05を選択したのか・・・?と結局答えが出せず、質問しました。
pythonを勉強しだして日も浅くまったく要領を得ない質問で申し訳ないのですが、「なぜ0.05をかけているのか」についてどなたか教えていただけないでしょうか?

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

hoshi-takanori

2021/08/16 09:56 編集

ラジアンで 0.05π、角度に直すと 0.05π * 360 / 2π = 9 度刻みで sin と cos を計算してますね。 1 + 1/4 周期の 1/4 は、sin と cos のどちらかを 1/4 周期 (90 度) ずらすともう片方と重なるからでは。
ponponpoon

2021/08/18 01:40

角度に直すという観点が抜けておりました・・! 確かにsinとcosは90度ずらすと重なりました! アドバイスありがとうございます!
guest

回答2

0

試しに0.01や0.1など別の数値を入れたところx座標の数値が変わったとことから、特に意味のない数値なのか・・?と考えるようになりました。

そのとおりです。

投稿2021/08/16 08:19

maisumakun

総合スコア145208

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

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

maisumakun

2021/08/16 08:19

特に数学的根拠があって選ばなければならない値ではなく、グラフの見栄えなどを考慮して適当に選んだ値と思われます。
ponponpoon

2021/08/18 01:28

回答ありがとうございます。 数値が設定されてグラフが記されたというよりは、グラフで書きたい形があったため(X軸を2.5πまで描きたかった?)ために適当に設定された値だったということですね! 理解が深まりました。教えていただきありがとうございました・・!!
guest

0

ベストアンサー

深い意味はありません。

sinとcosは周期が2πの周期関数です。グラフで周期関数であることを示そうとして、1周期と1/4のグラフを書くために0.05刻みで50回繰り返しをしたのでしょう。

投稿2021/08/16 08:25

ppaul

総合スコア24666

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

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

ponponpoon

2021/08/18 01:25

回答ありがとうございます。 一周だけの計算式でよければ、x.append(i*0.04*math.pi)の計算式を書くところを、1周+1/4のグラフを書きたいので0.05を設定したというので理解しました! 「描きたいグラフをもとに数値を設定した」ということで理解が深まりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問