現在、研究としてECGのRRIを求めるプログラムを作成しています。
そこで、ループ文が上手くいかず(jが加算されない)、詰まってしまっています。
このコードの説明をします。
リストeの各要素にはECGの振幅値のデータが入っています。
例えば、e_1には0.12、-0.26、-0.09,1.21,0.65・・・といった感じで、60000個のデータが格納されています。
e_2やe_3,e_4,e_5にもそれぞれ60000個のデータが入っています。
R_num_lstのリストの各要素には、空のリストが5個入っています。
下のプログラムは、ECGのR波を検出する仕様になっています。
プログラムの理想としては、
・1回目のループ
e_1に入っているR波を抽出し、R_num_lst0に代入する。
・2回目のループ
e_2に入っているR波を抽出し、R_num_lst1に代入する。
3,4,5回目も同様に…
といったプログラムにしたいです。
しかし、ループが上手くいかずに苦戦しています。
print jでループが上手くいっているか確認した所、コンソールでは
0
0
0
0
0
0
0
となっていて、jに加算がされていない状態です。
ただ、j=0の時のiのループは上手くいっていたのでjの方に問題があると考えています。
私は、プログラミングが苦手でやっと参考サイトなどを見ながら書けるようになってきたものの、
ループがどうも苦手なようでwhile文やfor文の基本のようなサイトを見ても解決できませんでした。
アドバイス、解決策などがわかるようでしたらぜひ教えていただきたいです。
e = [e_1,e_2,e_3,e_4,e_5] R_num_lst = [R_num_lst0,R_num_lst1,R_num_lst2,R_num_lst3,R_num_lst4] j = 0 while 5 > j: i = 0 while len(e[0]) > i: if(i - R_num > thr_time): if(e[j][i] >= thr_amp): R = e[j][i] R_lst.append(R) R_num = i R_num_lst[j].append(R_num) print j i+=1 j+=1
回答2件
あなたの回答
tips
プレビュー