0
我需要幫助matlab使用'strtok'在文本文件中找到一個ID,然後讀入或操作該ID所在行的其餘部分。我也需要這個函數來查找(最好使用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的變化和去整組不同的ID的,那麼他們是再次重複整個組,再考慮[1,2,3],[1,2,3],主要區別在於我需要在matlab中平均出來的ID的值。
我當前的代碼是:
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
感謝您的任何援助。
什麼是「結果」?你不能用同一個詞來標識一個變量和一個函數。然後你使用它作爲id和值。咦? – dmm
此外,假設evalin在'StarData'上工作(並且我不確定它會如何),那麼file_1將不會是char變量,因此您無法在其上使用strtok。鍵入「whos」(不含引號)來查看您的變量。 – dmm
我無法理解你的問題,但我很確定你想使用「加載」,而不是「evalin」。輸入「幫助加載」。您不想評估KOIName和StarData中的表達式(因爲沒有),您只需要將數據加載到可以操作的Matlab變量中。 – dmm