前提・実現したいこと
出力がほしいものとはことなっていました.
1_1-7701_history.csvは本来7701行+ヘッダーの1行目,7201列あります.
しかし,下記の計算をして得られる最初の値は
-0.166846583になってほしいのですが,微妙にずれて-0.166741725
というような値になります.
何かコードのミスがあるのでしょうか.
ぼくのコードでは最初の1行目のtimestepと書かれた行は読まれない認識で大丈夫ですか?
本来やりたい計算は
y=y(i,j)+(2500/24)*((y(i+1,j)-2y(i,j)+y(i-1,j)/2500 + (y(i,j+1)-2y(i,j)+y(i,j-1)/2500))なのですが,コードは間違っていますか?
##作成したコード
import numpy as np import pandas as pd data = pd.read_csv("1_1-7701_history.csv").values.tolist() list = [] filterrange = 50 deltax = 50 deltay = 50 a = filterrange*filterrange/24 for j in range(7201): for i in range(7597): x = data[i+52][j] + a*(((data[i+53][j] - 2*data[i+52][j] + data[i+51][j])/(deltax*deltax)) + ((data[i+103][j] - 2*data[52][j] +data[i+1][j])/(deltay*deltay))) list.append(x) np.savetxt('filtered_1_1-7701_history.csv', list, delimiter=',') ##1_1-7701_history.csv(Notepadで開いたもの)
timestep
-0.84728
-0.95114
-0.79644
-0.77996
-0.67011
-0.82191
-0.74084
-1.5601
-0.76074
-0.98542
-1.3009
-0.5609
-0.64079
-0.92658
-0.70318
-0.85883
-0.82323
-0.63173
-0.61962
-1.1397
-1.2825
-0.64368
-0.64733
-0.58441
-0.68703
-0.73336
-1.1853
-0.47988
-1.0905
-1.0431
-1.2478
-1.0764
-1.2152
-1.211
-0.65762
-0.52679
-0.50093
-0.64618
-0.52306
-0.33061
-0.48963
-0.41828
-1.0891
-0.39603
-1.0711
-0.52733
-0.37916
-0.52217
-0.14342
-1.0873
-1.0399
-0.88322
-0.10131
-0.08455
-0.10721
0.028953
-0.12311
-0.065425
-0.20617
-0.082956
-0.032831
-0.056293
-0.04874
-0.014266
-0.045869
-0.12502
-0.012356
0.019462
0.034668
0.030992
0.036706
0.065337
0.09325
0.074081
0.12033
0.00088224
0.068295
0.12823
0.092159
0.062422
0.17616
0.15121
0.17839
0.1971
0.20163
0.21746
0.25111
0.23748
0.31161
0.27771
0.26351
0.33324
0.32294
0.29546
0.28425
0.33134
0.36748
0.49872
0.42924
0.45518
0.37397
-0.87739
-0.63376
-0.059208
0.088382
0.12132
0.15218
0.19531
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。