2016-03-18 64 views
-1

我已經設置了以下兩種數據:生成在某個點的隨機樣本在Matlab

A= (1,1)  1.9643 
(2,1)  2.2753 
(3,1)  2.9781 
(4,1)  2.9320 
(5,1)  3.5772 
(6,1)  4.0150 
(7,1)  3.3814 
(8,1)  3.9113 
(9,1)  2.7822 
(10,1)  2.5518 
(11,1)  3.3698 
(12,1)  3.1048 
(13,1)  1.9182 
(14,1)  2.2638 
(15,1)  2.6555 
(16,1)  3.1855 
(17,1)  3.6579 
(18,1)  3.9113 
(19,1)  3.6002 
(20,1)  3.0357 
(21,1)  1.5841 
(22,1)  2.0103 
(23,1)  1.9527 
(24,1)  2.2753 
(25,1)  2.3099 
(26,1)  2.8283 
(27,1)  3.0473 
(28,1)  2.4827 
(29,1)  2.5057 
(30,1)  1.8721 
(31,1)  2.0103 
(32,1)  1.2269 
(33,1)  1.8951 
(34,1)  1.5610 
(35,1)  1.5495 
(36,1)  1.6878 
(37,1)  1.4919 
(38,1)  0.9620 
(39,1)  1.1693 
(40,1)  0.8122 
(41,1)  0.9735 
(42,1)  1.2500 
(43,1)  1.3191 
(44,1)  2.2292 
(45,1)  2.4482 
(46,1)  2.7938 
(47,1)  2.0910 
(48,1)  2.5403 
(49,1)  0.9044 
(50,1)  0.7662 
(1,2)  4.5957 
(2,2)  3.8589 
(3,2)  4.5651 
(4,2)  3.5519 
(5,2)  2.8560 
(6,2)  3.1937 
(7,2)  3.4291 
(8,2)  4.1761 
(9,2)  4.0431 
(10,2)  4.6162 
(11,2)  3.9101 
(12,2)  3.0709 
(13,2)  4.0534 
(14,2)  4.3706 
(15,2)  3.5008 
(16,2)  4.2888 
(17,2)  3.8692 
(18,2)  3.4291 
(19,2)  3.1221 
(20,2)  3.3165 
(21,2)  3.3575 
(22,2)  3.2039 
(23,2)  2.7843 
    (24,2)  2.7127 
(25,2)  2.9584 
(26,2)  2.6309 
(27,2)  2.2931 
    (28,2)  2.0373 
    (29,2)  2.3853 
    (30,2)  2.0577 
    (31,2)  2.3546 
    (32,2)  2.3239 
    (33,2)  2.9174 
    (34,2)  3.0709 
    (35,2)  2.6923 
    (36,2)  2.4057 
    (37,2)  2.0271 
     (38,2)  2.6820 
    (39,2)  2.9276 
    (40,2)  2.9992 
    (41,2)  3.3881 
    (42,2)  3.1937 
    (43,2)  3.5109 
    (44,2)  2.2010 
    (45,2)  2.6411 
    (46,2)  1.9656 
    (47,2)  1.6177 
    (48,2)  2.8867 
(49,2)  3.0198 
(50,2)  2.5899 

在此,A是二維的稀疏矩陣,其中(i,i)中。

並且B是(50,1)矩陣,其中前20個值是+1並且最後30個值是-1。

所以數據點是這個樣子:

enter image description here

現在,我要選擇的(40,50)的位置,然後要在+/- 2產生1000個隨機點點的區域。

所以,該圖應該是這樣的:

enter image description here

請讓我知道,我怎麼能做到這一點的MATLAB。

+0

歡迎來到Stack Overflow!你有嘗試過什麼嗎?如果您希望在本網站獲得幫助,您應該表明您已經爲此問題付出了一些努力。 – buzjwa

回答

0

既然你不提一門編程語言,這裏是通用的解決方案:

假設你想要的數據被爲中心(X,Y),傳播s和標籤L。

然後,您將爲每個對象生成兩個隨機高斯,按照期望的擴展值對其進行縮放,添加中心向量(x,y),並將該向量附加到具有所需標籤的數據中。

在這裏,你的中心將是類似的信息(45,45)和傳播也許5或只是1.

+0

我很抱歉。它應該在Matlab中。我編輯了這個問題..謝謝。請讓我知道我該怎麼做。 – Odrisso

+0

我不使用Matlab。但是以上描述也應該直接在Matlab中實現。 –

0

這產生和圖40 1000的位置的+/- 2區域(內均勻分佈的隨機點, 50):

plot (40+4*rand(1000,1)-2, 50+4*rand(1000,1)-2,'o') 

我知道我忽略了「從稀疏矩陣A中選擇位置」 - 您的問題的一部分。我希望那部分不是至關重要的,無論如何這都會幫助你。

當您需要其他隨機分佈時,請查看randn(用於高斯)或其他rand*函數。