1
我需要從1點巨大原始矩陣理清幾個小矩陣...根據排序第一列(第一列含有任1,2或3)...MATLAB:排序和隨機
如果第一列爲1,然後隨機選擇75%的1保存在文件A1中,25%保存在文件A2中。
如果第一列爲2,則隨機選擇75%的2保存在文件B1中,25%的2保存在文件B2中。
如果第一列爲3,則隨機選擇文件C1中3個保存的75%,文件C2中3個保存的25%。
我該怎麼寫代碼?
實施例:
原始矩陣15已行×6列:
7行是第1列1,行5是在第一列2和3行第1列是3。
1 -0.05 -0.01 0.03 0.07 0.11
1 -0.4 -0.36 -0.32 -0.28 -0.24
1 0.3 0.34 0.38 0.42 0.46
1 0.75 0.79 0.83 0.87 0.91
1 0.45 0.49 0.53 0.57 0.61
1 0.8 0.84 0.88 0.92 0.96
1 0.05 0.09 0.13 0.17 0.21
2 0.5 0.54 0.58 0.62 0.66
2 0.4 0.44 0.48 0.52 0.56
2 0.9 0.94 0.98 1.02 1.06
2 0.85 0.89 0.93 0.97 1.01
2 0.75 0.79 0.83 0.87 0.91
3 0.36 0.4 0.44 0.48 0.52
3 0.6 0.64 0.68 0.72 0.76
3 0.4 0.44 0.48 0.52 0.56
7行第1列有1,隨機取出的7行(也就是7 * 0.75 = 5.25)75%是新的矩陣(5rows×6列),25%的其餘部分成爲另一新矩陣
5列在第1列中得到2,隨機抽取5行(即5 * 0.75 = 3.75)的75%作爲新矩陣(4行×6列),其餘25%成爲另一新矩陣
3行第一列取3,隨機抽取3行(即3 * 0.75 = 2.25)的75%爲新矩陣(2行×6列),其餘25%成爲另一個新矩陣
結果:
A1=
1 -0.4 -0.36 -0.32 -0.28 -0.24
1 0.3 0.34 0.38 0.42 0.46
1 0.75 0.79 0.83 0.87 0.91
1 0.8 0.84 0.88 0.92 0.96
1 -0.05 -0.01 0.03 0.07 0.11
B1=
2 0.9 0.94 0.98 1.02 1.06
2 0.85 0.89 0.93 0.97 1.01
2 0.5 0.54 0.58 0.62 0.66
2 0.75 0.79 0.83 0.87 0.91
C1=
3 0.36 0.4 0.44 0.48 0.52
3 0.4 0.44 0.48 0.52 0.56
你能澄清你的問題嗎?也許舉個例子吧? –
類似問題:http://stackoverflow.com/questions/6501922/sample-specific-rows-in-matlab – Amro