构造函数,数组和对象

时间:2018-06-08 11:01:56

标签: constructor combinatorics sampling latin hypercube

我试图解决这两个问题,任何意见都会受到赞赏。

我的解决方案有效,但输出对象不断重复"示例"在数组上的对象之前。

(1)Latin Hypercube Sampling 编写一个从真实空间D产生N个伪随机样本的函数。该函数应该作为参数:   - 要生产的样品数量(N)   - 每个维度的界限(dmin,dmax) 该函数应返回表示整组随机数元组的对象数组。例如: 结果= [{" d1":1," d2":3},{" d1":2," d2":1} ,{" d1":3," d2":2}];

// Create the function.
const hypercube = (N, dmin, dmax) => {
    const samp = [];
    for(let i = 0; i <= N; i ++){
        const   min = Math.ceil(dmin),
                max = Math.floor(dmax);

        // let build = new latin(min, max);
        // samp.push(build);
        samp.push(new Sample(min, max));
    }
    console.log(samp);
};
// Run the function.
hypercube(2, 1, 6);

// This is the constructor function.
function Sample (min, max) {
    this.d1 = Math.floor(Math.random() * (max - min + 1) + min);
    this.d2 = Math.floor(Math.random() * (max - min + 1) + min);
}

这是第二部分,我的解决方案类似于第一部分。我创建了一个字母数组,并从该数组中随机选择一个。

(2)组合学 扩展函数以允许组合数据类型,即来自固定的无序集合的值。组合数据类型应表示为字符串。该函数应该作为参数:   - 要生产的样品数量(N)   - 每个维度的配置:    - - 对于实数,这应该是界限(dmin,dmax)    - - 对于组合值,这应该是一组可能的值([...]) 例如,函数可能会产生三维结果:前两个是范围[1 - 3]中的实数,第三个是组合集[&#34; A&#34;,&#34; B&#34 ;,&#34; C&#34;]。 和以前一样:函数应该返回一个对象数组。例如:

&#13;
&#13;
// Create the function.
const hypercube = (N, dmin, dmax) => {
    const samp = [];
    for(let i = 0; i <= N; i ++){
        const   min = Math.ceil(dmin),
                max = Math.floor(dmax);
                
        // let build = new latin(min, max);
        // samp.push(build);
        samp.push(new Sample(min, max));
    }
    console.log(samp);
};
// Run the function.
hypercube(2, 1, 6);
 
// This is the constructor function.
function Sample (min, max) {
    this.d1 = Math.floor(Math.random() * (max - min + 1) + min);
    this.d2 = Math.floor(Math.random() * (max - min + 1) + min);
}
&#13;
&#13;
&#13;

result = [{&#34; d1&#34;:1,&#34; d2&#34;:3,&#34; d3&#34;:&#34; B&#34; },{&#34; d1&#34;:2,&#34; d2&#34;:1,&#34; d3&#34;:&#34; A&#34; },{&#34; d1&#34;:3,&#34; d2&#34;:2,&#34; d3&#34;:&#34; C&#34; }];

我很感激任何意见。

谢谢。

0 个答案:

没有答案