質問編集履歴
3
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
別配列同士の
|
1
|
+
別配列同士の足し算を同じforループ内で行えるのか
|
body
CHANGED
File without changes
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
・目的
|
2
2
|
Pythonを使って一次元非定常熱伝導方程式を差分法で表したFTCS式で計算し、0℃の試料(深さ方向iの1次元のみ考える)に一定時間レーザー光を照射したときの温度分布をグラフに示したいと思っています。
|
3
3
|
・問題
|
4
|
-
コード中の(#
|
4
|
+
コード中の(#レーザー吸収熱温度 Qの設定)で得た計算Qの配列を#FTCS式における別のtempという配列に足したいのですが、以下のエラーが表示され計算できませんでした。
|
5
5
|
(エラー内容)
|
6
|
-
#FTCS内のemp_new[i] = Q[i]+temp[i] +・・・式にてIndexError:list index out of rangeのエラー。
|
6
|
+
#FTCS内のemp_new[i] = Q[i]+temp[i] +・・・式にてIndexError:list index out of rangeのエラー。Qの配列とtempの配列を同じ要素iでforループを回して#FTCS内の式で計算するにはどのように設定するべきでしょうか?
|
7
7
|
|
8
8
|
|
9
9
|
|
1
文章の訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
・FTCS式について
|
11
11
|
forループのiですが、試料を表面i=0から裏面に向かって深さ方向(一次元)に101等分した要素番号としています。表面i=0と裏面i=nxは境界条件を指定しているためforループに入れていません。FTCS式では、左辺(位置iにおける時間n+1の温度)=右辺(位置iおよびi-1、i+1の時間nの温度)で計算されています。時間については#timeループで時間の要素nについて回しています。
|
12
12
|
FTCS式では右辺は全て一つ前の時間のデータで計算する必要があるため、左辺をtemp_new[i]と別の配列に格納しています。FTCS法のforループが終わると、先程格納した temp_new を temp の配列にコピーして temp を更新します。#updateでforループを回し temp_new の各要素を temp の同じ番号の要素に代入しているような状態です。
|
13
|
-
今回はFTCS式の右辺にtempとは別の配列ですが、#レーザー光照射による吸収熱の設定、で与えた位置iにおける
|
13
|
+
今回はFTCS式の右辺にtempとは別の配列ですが、#レーザー光照射による吸収熱の設定、で与えた配列の中で位置iにおけるQ[i]を足したいと思っています。
|
14
14
|
|
15
15
|
|
16
16
|
```import matplotlib.pyplot as plt
|