2010-04-27 124 views
0

我正在尋找一個命令或技巧來將兩個數組轉換爲稀疏矩陣。這兩個數組包含x值和y值,它們給出了笛卡爾座標系中的座標。我想對座標進行分組,如果該值位於x軸和y軸上的某個值之間。MATLAB:將兩個數組轉換爲稀疏矩陣

% MATLAB 
x_i = find(x > 0.1 & x < 0.9); 
y_i = find(y > 0.4 & y < 0.8); 

%Then I want to find indicies which are located in both x_i and y_i 

有沒有簡單的方法來這個小動作?

回答

5

假設xy具有相同的形狀(他們應該這麼做,如果他們座標),你可以簡單地如果你想一般的方式找到所共有的兩個列表號碼寫

commonIndices = find(x > 0.1 & x < 0.9 & y > 0.4 & y < 0.8); 

,你可以使用相交

commonEntries = intersect(x_i,y_i); 
+0

+1:打我一分鐘! – gnovice 2010-04-27 20:47:13

+0

不錯!謝謝,那正是我正在尋找的。 – aagaard 2010-04-27 21:38:27