teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2019/01/23 07:07

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -6,6 +6,6 @@
6
6
  array([17.8, 17.9, 18. , 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8,
7
7
  18.9, 19. , 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9])
8
8
  ```
9
- ただしnumpy配列は綺麗に表示するために桁数を途中で切っているので注意。実際には浮動小数点数なので、下の方の桁には誤差がある場合もあります。
9
+ ただしnumpy配列は綺麗に表示するために表示桁数を少なくしているので注意。実際には浮動小数点数なので、下の方の桁には誤差がある場合もあります(というかほぼ当然にある)
10
10
 
11
11
  自分で作る場合は、毎回stepを足していくのではなく、先に全体に含まれる要素数を計算してからループを要素数分だけ回して処理するか、(同じことですが)整数のカウンタを別途用意してそちらをインクリメントしながらループを回し、(`start + count*step`みたいにして)出していった方が誤差が累積しないはずです。

1

要素数を数えるのは必須ではないですね

2019/01/23 07:07

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -6,5 +6,6 @@
6
6
  array([17.8, 17.9, 18. , 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8,
7
7
  18.9, 19. , 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9])
8
8
  ```
9
+ ただしnumpy配列は綺麗に表示するために桁数を途中で切っているので注意。実際には浮動小数点数なので、下の方の桁には誤差がある場合もあります。
9
10
 
10
- 自分で作る場合は、毎回stepを足していくのではなく、先に全体に含まれる要素数を計算してからループを要素数分だけ回して処理した方が誤差が累積しないはずです。
11
+ 自分で作る場合は、毎回stepを足していくのではなく、先に全体に含まれる要素数を計算してからループを要素数分だけ回して処理するか、(同じことですが)整数のカウンタを別途用意てそちらをインクリメントしながらループを回し、(`start + count*step`みいにして)出していった方が誤差が累積しないはずです。