2014-05-21 31 views
0

我有一個文本文件中的具有N行和8列(下面的例子):訪問colums

1 2 0.02 0.28 0.009 0.04 0.03 0.16 
2 4 0.04 0.21 0.4  0.04 0.03 0.13 

如果我的變量X = 2和y = 4(i中的節目期間獲得每運行運行 - 值變動) 我知道該行的索引我需要得到:

rIndex = find((A{1}==x)&(A{2}==y)); 

這裏RINDEX = 2 我需要RINDEX訪問行的列3至8做手術在那一行。即我從另一個基於x和y的文件獲得值,並將這些值除以rIndex行的列值。

x_No = 5,y_No = 6;

B = horzcat((x_No-y_No)./A{3}(1),(x_No-y_No))./A{4}(1),(x_No-y_No)./A{5}(1),(x_No-y_No)./A{6}(1),(x_No-y_No)./A{7}(1),(x_No-y_No)./A{8}(1)); 

B現在正在對來自A的所有行進行操作。我只需要特定的rIndex。

任何幫助將非常感激。非常感謝!

+0

我不明白你想做什麼。首先你計算'rIndex',但你甚至不用它。計算機應該如何知道你只是想改變'rIndex'中的行?而且,最後一行中的未知變量並沒有使事情變得更清楚。 –

+0

@ DennisJaheruddin。考慮到無法解釋的變量,我編輯了我的問題。這是我可以在哪裏使用rIndex的問題?我不知道該把代碼放在哪裏。和matlab幫助未獲得幫助。 – mil

+0

@RobertP。這是Matlab。謝謝 – mil

回答

0

它仍不是很清楚發生了什麼,但我認爲你可以嘗試這樣的事:

for r = 1:numel(rIndex) 
    t=rIndex(r); 
    result(r,:) = horzcat((x_No-y_No)./A{3}(t),(x_No-y_No))./A{4}(t),(x_No-y_No)./A{5}(t),(x_No-y_No)./A{6}(t),(x_No-y_No)./A{7}(t),(x_No-y_No)./A{8}(t)); 
end 

我可能會做太多的實際,但希望這有助於。

+0

這是非常有幫助的謝謝!如果我使用'rIndex'而不是't',它應該工作得太對了(沒有循環),因爲rIndex在程序運行中發生了變化? – mil