makefractal.sci
来自「小波分解源代码」· SCI 代码 · 共 40 行
SCI
40 行
function Frac = MakeFractal(n,base,typ,prob)
// MakeFractal -- Create Random or Deterministic Self-Similar signal
// Usage
// Frac = MakeFractal(n,base,type,prob)
// Inputs
// n signal length
// base base of digits in expansion
// type string 'rand' or 'detrministic'
// prob vector of base numbers with sum = 1
// Outputs
// Frac Self-Similar signal
//
// Description
// To get (a discrete approximation to) a Cantor Set,
// use base=3, type ='deterministic', prob = [.5 0 .5]
//
// To get the random self-similar signal in Arneodo & Co.
// use base=4, type = 'random', prob = [.69, -.46, .46, .31]
//
// Copyright Aldo I Maalouf
s = ones(1,n);
t = (0:(n-1)) ./n;
k = 1;
while( k < n)
dig = floor(base .* t);
t = base .*t - dig;
if string(typ)=='rand',
p = shuffle(prob);
else
p = prob;
end
s = s .* p(dig+1);
k = k .* base;
end
Frac = s;
endfunction
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?