📄 makebrownian.sci
字号:
function fBr = MakeBrownian(n,H,par)
// MakeBrownian -- Create Fractional Brownian Signal
// Usage
// fBr = MakeBrownian(n,H,par)
// Inputs
// n signal length
// H base of digits in expansion
// par optional, degree of extension in algorithm, default =8.
// Outputs
// fBr (pseudo) Fractional Brownian signal
//
// Description
// Uses a Frequency Domain algorithm to get a pseudo Brownian Motion
// The law is NOT normalized to give unit variance to unit increments.
//
// Copyright Aldo I Maalouf
[lhs,rhs]=argn();
if rhs < 3,
par = 8;
end
N = n .*par;
// generate the FT of a real white noise
w = WhiteNoise(zeros(1,N));
whatt = mtlb_fft(w);
// formal fractional integral
eta = 2 * %pi * [0:(N/2) (-(N/2)+1):(-1)] ./ N;
eta(1) = 1;
bhat = (abs(eta) .^ (-2*H)) .* whatt;
bhat(1) = 0.;
fBr = mtlb_ifft(bhat);
// extract a segment that is well away from the edges
start = floor(par/2 .* n);
stop = start+n-1;
fBr = real(fBr(start:stop));
endfunction
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -