'strtok' を使用してテキスト ファイル内の ID を検索し、その ID が含まれている残りの行を読み取るか操作するための matlab のサポートが必要です。また、同じ ID のすべての出現箇所を (できれば strtok を使用して) 検索し、何らかの方法でそれらをグループ化して、平均を見つけることができるようにするためにも、この関数が必要です。サンプル コードに進みます。
ID list being input:
(This is the KOIName variable)
010447529
010468501
010481335
010529637
010603247......etc.
File with data format:
(This is the StarData variable)
ID>>>>Values
002141865 3.867144e-03 742.000000 0.001121 16.155089 6.297494 0.001677
002141865 5.429278e-03 1940.000000 0.000477 16.583748 11.945627 0.001622
002141865 4.360715e-03 1897.000000 0.000667 16.863406 13.438383 0.001460
002141865 3.972467e-03 2127.000000 0.000459 16.103060 21.966853 0.001196
002141865 8.542932e-03 2094.000000 0.000421 17.452007 18.067214 0.002490
私が投稿した例に惑わされないでください。最初の番号が約 15 行繰り返され、その後 ID が変更され、それが異なる ID のセット全体に適用されます。その後、それらは再びグループ全体として繰り返されます。[1,2, 3]、[1,2,3]、主な違いは、ID に続く値であり、これを matlab で平均化する必要があります。
私の現在のコードは次のとおりです。
function Avg_Koi
N = evalin('base', 'KOIName');
file_1 = evalin('base', 'StarData');
global result;
for i=1:size(N)
[id, values] = strtok(file_1);
result = result(id);
result = result(values)
end
end
ご協力ありがとうございます。