MATLAB有一些用于构建一维网格(linspace
,logspace,grid,ets)的函数。我需要一个函数来生成具有特定点分布密度的不规则一维网格。
让我们说:nonelinspace(a, b, N, @distr)
,其中a
,b
是区间,N
- 点数,distr
是点密度函数(多项式,高斯,双曲线,......)。
这可以在MATLAB中完成吗?
补充说明:
我们有一个区间[a,b]除以N = 1000点:linspace(a, b, N);
设置单元格数(n = 100)和一些密度分布函数:distr = @(o) exp(-1e-3*((0:o) - .5*o).^2)
就像这样。
表达式N*distr(n)/sum(distr(n))
(或round(N*distr(n)/sum(distr(n)))
)给出了每个单元格中的点数。并且我们需要在整个区间[a,b]中分发事件点。