我有一個圖形圖像。就像一個軌跡。我想給圖表添加噪音。 我嘗試添加正常分佈噪聲。使用蘭德。例如如何合適的噪聲添加到圖
x1=x+a*rand(size(x));
對於y也是類似的。
結果在下面附接。這不是我想要的。這給了我一個散點圖或完全嘈雜的情節。如下圖所示。第一行是我所做的,第三行是我想要的。
不同圖表列代表不同標準偏差(的值)。
問:如何獲取地塊的第三類(行)?
P.S.第一行是當我使用情節(...,「。」,markersize,1);第二行爲簡單的矢量圖。
我有一個圖形圖像。就像一個軌跡。我想給圖表添加噪音。 我嘗試添加正常分佈噪聲。使用蘭德。例如如何合適的噪聲添加到圖
x1=x+a*rand(size(x));
對於y也是類似的。
結果在下面附接。這不是我想要的。這給了我一個散點圖或完全嘈雜的情節。如下圖所示。第一行是我所做的,第三行是我想要的。
不同圖表列代表不同標準偏差(的值)。
問:如何獲取地塊的第三類(行)?
P.S.第一行是當我使用情節(...,「。」,markersize,1);第二行爲簡單的矢量圖。
的問題是,你想要的噪音有一定的特點。沿着曲線你有很多樣本,並且你希望它保持「連接」。你會喜歡相當平滑的結果,並且你希望曲線保持關閉狀態。所以,按順序:隨機行走噪音將保持連接點。低通濾波噪聲將保持曲線平滑。並將噪聲終點固定爲零(平滑)以確保結果爲封閉。以下是一些產生16種不同噪聲(4x4)的代碼,改變了總體規模和總體過濾量。您必須根據數據的「採樣率」和形狀的整體比例來調整這兩種選擇。
% Generate sample data
[x,y] = pol2cart(0:0.01:2*pi, 1);
% Pick a set of 4 noise scale, and noise filter values
scales = [.01 .05 .1 .5];
filterstrength = [.1 .5 .9 .98];
% Plot a 4x4 grid, picking a different type of noise for each one
for i=1:4
for j=1:4
scale = scales(i);
f = filterstrength(j);
% Generate noise for x and y, by filtering a std 1 gaussian random
% walk
nx = filter(scale*(1-f), [1 -f], cumsum(randn(size(x))));
ny = filter(scale*(1-f), [1 -f], cumsum(randn(size(y))));
% We want a closed polygon, so "detrend" the result so that
% the last point is the same as the first point
nx = nx - linspace(0,1,length(nx)).*(nx(end)-nx(1));
ny = ny - linspace(0,1,length(ny)).*(ny(end)-ny(1));
subplot(4,4,4*(i-1)+j);
% Add the noise
plot(x+nx,y+ny);
end
end
其他東西你可以改變:你有幾乎無限的濾波器形狀的選擇,這將影響變形的風格。
我正在尋找完美的答案。 – user2178841
它是一個輪廓?什麼是x?什麼是y?圖表在哪裏?哪些節點? – Eleanore
@Eleanore是的。座標。座標。圖形有多種定義。[http://en.wikipedia.org/wiki/Graph_of_a_function]不只是帶有節點和邊的圖形。但是,確切地說,它不是一個函數圖。假設這是一個粒子的軌跡。 – user2178841
這很明顯。但是,您沒有指定x和y。這些是構成輪廓點的座標嗎?我是否應該假設情節中的所有點都以座標(你想重新計算)爲特徵?而且,你沒有指定什麼是「噪音」。它只是輪廓的變形嗎? – Eleanore