Мне нужна помощь с помощью matlab с помощью 'strtok', чтобы найти идентификатор в текстовом файле, а затем прочитать или обработать остальную часть строки, содержащуюся там, где этот идентификатор. Мне также нужна эта функция, чтобы найти (используя strtok предпочтительно) все вхождения того же ID и сгруппировать их каким-то образом, чтобы найти средние значения. На в образце кода:Матовая манипуляция Matlab
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 и который идет в течение целого набора различных идентификаторов, то они повторить как целую группу, подумайте [1,2,3], [1,2,3], основное отличие - значения, возвращающие идентификатор, который мне нужно усреднить в 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
Спасибо за любую помощь.
Что такое «результат»? Вы не можете использовать одно и то же слово, чтобы идентифицировать как переменную, так и функцию. И затем вы используете его для идентификатора и значений. А? – dmm
Также, предполагая, что evalin работает над «StarData» (и я не уверен, что это будет), file_1 не будет переменной char, поэтому вы не сможете использовать strtok на нем. Введите «whos» (без кавычек), чтобы увидеть ваши переменные. – dmm
У меня возникли проблемы с пониманием вашего вопроса, но я уверен, что вы хотите использовать «нагрузку», а не «evalin». Введите «справочная нагрузка». Вы не хотите оценивать выражения в KOIName и StarData (так как их нет), вы просто хотите загрузить эти данные в переменные Matlab, с которыми вы можете манипулировать. – dmm