Re: [問題] 請問要怎麼add random noise已回收

看板MATLAB作者 (陸)時間16年前 (2010/02/07 15:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《ITACHI0105 (真相只有一個)》之銘言: : 不好意思,小弟跟MATLAB實在不太熟 : 想請問一下如果有向量x跟y的話 : 如果我的x = 0: 0.5: 10 : y = 2.3x - 1.2 : 該怎麼add random (normal, Gaussian) noise to the vector y. : 研究了好久還是錯 : 想說是不是 n = gaussmf(x, y); 但也是錯的 : 真的不曉得該怎麼做 : 身邊也沒有懂matlab的朋友 : 所以來問看看...看有沒有人可以提點小弟一下的- - : 先感謝了~ 你要在應變數y中加入noise,其實很簡單,以下給你其中一種方法以及建議 你可以參考看看我以下的思緒 你的自變數是 x = 0 : 0.5 : 10 ; 代入你的函數得到應變數y(函數值) y = 2.3*x - 1.2 ; 假設你要加入的noise為n,所以 y_noise = y + n 在此n有各種形式,看你的需求而定 我這邊假設n是隨機產生的 且為常態分布(mean zero and standard deviation one) 因此可以使用 randn 函式 在這邊假設noise的大小不會大於應變數y 所以可以寫成( 記得要使用 .* ) n = y .* randn(size(y)) 但由於通常noise大小不會太大,因此可以在上式中乘上一個比率s n = s * y .* randn(size(y)) ; 在此建議s可使用0.1以下的是數值,在此使用0.1為例 所以加入noise後的y可以使用下式 y_noise = y + 0.1 * y .* randn(size(y)) ; 希望能回答到你的問題,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.219.59
文章代碼(AID): #1BRcQB68 (MATLAB)
文章代碼(AID): #1BRcQB68 (MATLAB)