[解決済み】IndexError: Index 10 is out of bounds for axis 0 with size 10
2022-02-17 12:37:29
質問
xグリッドとxベクトル、そして時間グリッドにメッシュグリッドを数値的に設定していますが、ここでも配列に
x
(位置) は 0 から 20 の間だけであるべきであり
t
(時間) は 0 から 1000 までで、熱の方程式を解くために使用します。しかし、例えば、ステップ数を10にしたい場合、毎回エラーが発生します。
"Traceback (most recent call last):
File "/home/universe/Desktop/Python/Heat_1.py", line 33, in <module>
x[i] = a + i*h
IndexError: index 10 is out of bounds for axis 0 with size 10"
以下は私のコードです。
from math import sin,pi
import numpy
import numpy as np
#Constant variables
N = int(input("Number of intervals in x (<=20):"))
M = int(input("Number of time steps (<=1000):" ))
#Some initialised varibles
a = 0.0
b = 1.0
t_min = 0.0
t_max = 0.5
# Array Variables
x = np.linspace(a,b, M)
t = np.linspace(t_min, t_max, M)
#Some scalar variables
n = [] # the number of x-steps
i, s = [], [] # The position and time
# Get the number of x-steps to use
for n in range(0,N):
if n > 0 or n <= N:
continue
# Get the number of time steps to use
for m in range(0,M):
if m > 0 or n <= M:
continue
# Set up x-grid and x-vector
h =(b-a)/n
for i in range(0,N+1):
x[i] = a + i*h
# Set up time-grid
k = (t_max - t_min)/m
for s in range(0, M+1):
t[s] = t_min + k*s
print(x,t)
解決方法は?
範囲外のインデックスを作成しようとしている。
for s in range(0, M+1):
t[s] = t_min + k*s
に変更します。
for s in range(M):
t[s] = t_min + k*s
そして、うまくいくのです。
を作成します。
t
の長さで
M
:
t = np.linspace(t_min, t_max, M)
にしかアクセスできないわけです。
M
の要素を
t
.
Pythonは常にゼロからインデックスを始めます。そのため
for s in range(M):
を行います。
M
ループ、while。
for s in range(0, M+1):
を行います。
M+1
のループになります。
関連
-
[解決済み】IndexError:サイズ1/ForwardEulerの軸0に対してインデックス1が境界外である
-
[解決済み] 配列から要素を1つだけ値で削除する方法
-
[解決済み] MIPSで配列を作る(アクセスする)方法
-
[解決済み] Luaで2次元配列を作成するには?
-
[解決済み] MIPSの2Dアレイ
-
[解決済み] glVertex3fvとglVertex3fの相違点
-
[解決済み] 最大和サブアレイのブルートフォースはなぜO(n^2)なのか?
-
[解決済み] MATLABでn次元の行列の各要素を反復処理するにはどうすればよいですか?
-
[解決済み】GCC: 配列の型が不完全な要素型である
-
[解決済み] Swiftでindexとelementでループを反復させる方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Angular 2のTypeScriptで配列にフィルタをかけるには?
-
[解決済み] Swift Closuresの$0と$1の意味は何ですか?
-
[解決済み] 配列から要素を1つだけ値で削除する方法
-
[解決済み] glVertex3fvとglVertex3fの相違点
-
[解決済み] MASMアセンブリの配列 (非常に混乱している初級者)
-
[解決済み] 配列をヒープ化するためのヒープにおけるsiftUp, siftDown操作
-
[解決済み] MATLABのnumel関数とlength関数の違いについて
-
[解決済み] 最大和サブアレイのブルートフォースはなぜO(n^2)なのか?
-
[解決済み] SwiftでUInt8バイト配列を文字列に変換する方法
-
[解決済み】GCC: 配列の型が不完全な要素型である