創建子矩陣的 「聰明」 的方式我有一個2900×7大小矩陣尋找在Matlab
re2 = [x y z se index xc yc];
每一列(X,Y,Z,SE,索引,XC,YC)包含數字,所有2900 x 1相同的大小。
我想通過查找第6列第7列中的特定元素,從這一個子矩陣。像這樣:
rexy_1_1 = re2(xc==1 & yc==1,:);
rexy_1_2 = re2(xc==1 & yc==2,:);
rexy_1_3 = re2(xc==1 & yc==3,:);
rexy_1_4 = re2(xc==1 & yc==4,:);
rexy_1_5 = re2(xc==1 & yc==5,:);
....
rexy_20_17 = re2(xc==20 & yc==17,:);
但是這意味着我需要編寫340行來生成340個子表。有沒有什麼聰明的方法來做到這一點?我試圖使用兩個for循環:
for i=1:20
for j=1:17
rexy_i_j = re2(xc==i & yc==j,:);
end
end
但它沒有奏效。
如何獲得這些子矩陣?
哎喲!你不能每次都生成一個新的變量'rexy_i_j'(簡單地通過賦值_i.e_'rexy_1_1,''rexy_1_2''),這只是超過了變量的舊值'rexy_i_j'。我建議使用單元格數組:'rexy {i,j}'。另外,你是否有實際變量名爲'xc'和'yc'?我認爲你不是正確地提取子矩陣... –
謝謝,xc和yc是2700 x 1列,包含數字xc包含nunmbers範圍從1到20,yc包含1到17 – exsonic01