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

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

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

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

Q&A

解決済

2回答

2462閲覧

orderの役割がわからない

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

0グッド

0クリップ

投稿2017/06/01 04:33

orderの役割がわかりません。

import scipy as sp import matplotlib.pyplot as plt data = sp.genfromtxt("data/web_traffic.tsv",delimiter="\t") x = data[:,0] y = data[:,1] x = x[~sp.isnan(y)] y = y[~sp.isnan(y)] fp1,residuals,rank,sv,rcond = sp.polyfit(x,y,1,full=True) f1 = sp.poly1d(fp1) plt.autoscale(tight=True) fx = sp.linspace(0,x[-1],1000) plt.plot(fx,f1(fx),linewidth=4) plt.legend(["d=%i"%f1.order],loc="upper left") plt.scatter(x,y) plt.title("Web traffic over the last month") plt.xlabel("Time") plt.ylabel("Hits/hour") plt.xticks([w*7*24 for w in range(10)], ['week %i'%w for w in range(10)]) plt.grid() plt.show()

というコードがあり、

plt.legend(["d=%i"%f1.order],loc="upper left")

の部分のorder がどのような役割なのかわかりません。
どのような役割なのでしょうか?
またこのorderに名前はついているのでしょうか?

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

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

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

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

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

guest

回答2

0

["d=%i"%f1.order]
つまりf1order
f1sp.poly1d(fp1)
poly1dをリファレンスで調べると

A one-dimensional polynomial class

なので多項式の次数です。

例えば、x^4 + xのような多項式に対して、orderは4

投稿2017/06/01 04:53

編集2017/06/01 04:56
ozwk

総合スコア13521

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

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

0

ベストアンサー

先頭のゼロ係数を除去する関数です。

詳しくはここを参照

投稿2017/06/01 04:47

_Victorique__

総合スコア1392

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

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

退会済みユーザー

退会済みユーザー

2017/06/01 04:51

ありがとうございます。ゼロ係数と最初の要素の除去に意味的な違いはあるのでしょうか?(または同じ意味なのでしょうか?)
_Victorique__

2017/06/01 04:58

全く違います。 与えられた方程式の最高次数を出力しています。 p1=np.polyfit([1,2,3]) #1*x^2+2*x+3 p2=np.polyfit([1,2,3,4]) #1*x^3+2*x^2+3*x+4 p1.order # 2 p2.order # 3
_Victorique__

2017/06/01 04:59

全く違います。f1の関数の最高次数を出力します。 p1 = np.polyfit([1,2,3]) #1*x^2+2*x+3 p1.order # 2
magichan

2017/06/01 05:28

order は numpy.poly1d クラスのインスタンス変数で、文字通り次数を表しております。 質問のソースコードでは多項式フィッティングを行っておりますが、poly1d.order にて何次の多項式にフィッティングしているのかを参照しております。 sp.polyfit()の第3引数にて 1 を入れているので、たぶん 1 が返ってくるのではないでしょうか。
magichan

2017/06/01 05:29

あっ、スミマセン。 既に _Victorique__ さんが書いておられましたね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問