再供应飞船将于2月28日在拜科努尔发射,组合操

2019-09-05 22:39栏目:航空科技

[据国际文传电讯社2005年1月24日报道] 进步号M-52再供应飞船将于2月28日在拜科努尔发射基地发射升空。今年俄罗斯载人太空飞行项目将有5次发射任务。

4.3 Join

无论何时,如果一个 Observable 发射了一个数据项,只要在另一个 Observable 发射的数据项定义的时间窗口内,就将两个 Observable 发射的数据合并发射。

图片 1

Join

Join 操作符结合两个 Observable 发射的数据,基于时间窗口(你定义的针对每条数据特定的原则)选择待集合的数据项。你将这些时间窗口实现为一些 Observables,它们的生命周期从任何一条 Observable 发射的每一条数据开始。当这个定义时间窗口的 Observable 发射了一条数据或者完成时,与这条数据关联的窗口也会关闭。只要这条数据的窗口是打开的,它将继续结合其它 Observable 发射的任何数据项。你定义一个用于结合数据的函数。
示例代码:

Observable<Integer> ob1 = Observable.just(1, 2);
Observable<String> ob2 = Observable.just("A", "B", "C");
ob1.join(ob2, new Function<Integer, ObservableSource<String>>() {//ob1产生结果声明周期控制函数
        @Override
        public ObservableSource<String> apply(@NonNull Integer integer) throws Exception {
//              return Observable.just(integer   "00");
            return Observable.just(integer   "00").delay(100, TimeUnit.MILLISECONDS);
//              return Observable.just(integer   "00").delay(200, TimeUnit.MILLISECONDS);
//              return Observable.just(integer   "00").delay(300, TimeUnit.MILLISECONDS);
        }
    }, new Function<String, ObservableSource<String>>() {//ob2产生结果声明周期控制函数
        @Override
        public ObservableSource<String> apply(@NonNull String s) throws Exception {
            return Observable.just("Function1:"   s).delay(200, TimeUnit.MILLISECONDS);
        }
    }, new BiFunction<Integer, String, Object>() {//ob1 和ob2产生结果的合并规则
        @Override
        public Object apply(@NonNull Integer integer, @NonNull String s) throws Exception {
//              Thread.sleep(1000);
            return  "string = "   s   ", integer = "   integer;
        }
    }

).subscribe(new Consumer<Object>() {
    @Override
    public void accept(@NonNull Object o) throws Exception {
        Log.e(TAG, "accept : "   o.toString());
    }
});

输出结果:

accept : string = A, integer = 1
accept : string = A, integer = 2
accept : string = B, integer = 1
accept : string = B, integer = 2
accept : string = C, integer = 1
accept : string = C, integer = 2

Join 的效果类似于排列组合,把第一个数据源 ob1 作为基座窗口,它根据自己的节奏不断发射数据元素。第二个数据源 ob2 ,每发射一个数据,我们都把它和第一个数据源 ob1 中已经发射的数据进行一对一匹配;

如果某一时刻 ob2 发射了一个数据 B ,此时 ob1 已经发射了 1,2 共两个数据,那么我们的合并操作就会把 B 依次与 1,2 配对,得到两组数据: (1,B)、(2,B)

运载火箭 发射次数 失败次数 成功率
“质子”-M 48 4 91.67
“呼啸”号 8 1 87.5
“宇宙”-3M 5 0 100
总计 61 5 90.16

And/Then/When — 通过模式和计划组合多个 Observables 发射的数据集合。
CombineLatest — 当两个 Observables 中的任何一个发射了一个数据时,通过一个指定的函数组合每个 Observable 发射的最新数据(一共两个数据),然后发射这个函数的结果。
Join — 无论何时,如果一个 Observable 发射了一个数据项,只要在另一个 Observable 发射的数据项定义的时间窗口内,就将两个 Observable 发射的数据合并发射。
Merge — 将多个 Observable 合并为一个。
StartWith — 在数据序列的开头插入一条指定的项。
Switch — 将一个发射 Observables 的 Observable 转换成另一个 Observable,后者发射这些 Observables 最近发射的数据。
Zip — 使用一个函数组合多个 Observable 发射的数据集合,然后再发射这个结果。

分析表中所示全部5次任务失败均由火箭上面级故障所致。赫鲁尼契夫研制的“微风”-M上面级失败4次,1次用于“呼啸”火箭,3次用于“质子”火箭。“微风”-BM级段失败了1次。其他发射任务失败是由RSC Energia公司的Blok-DM上面级故障所致。总计损失8颗卫星,其中7颗是由于“质子”火箭发射失败,1次是“呼啸”火箭发射失败所致。“质子”火箭发射失败

3.7.2 ZipWith

图片 2

zipWith

示例代码:

Observable<Integer> ob1 = Observable.just(1, 2, 3, 4, 5);
Observable<String> ob2 = Observable.just("A", "B", "C", "D");
ob1.zipWith(ob2, new BiFunction<Integer, String, String>() {
    @Override
    public String apply(@NonNull Integer i, @NonNull String s) throws Exception {
        return i   "-"   s;
    }
}).subscribe(new Consumer<String>() {
    @Override
    public void accept(@NonNull String s) throws Exception {
        Log.e(TAG, "accept:"   s);
    }
});

输出结果:

accept:1-A
accept:2-B
accept:3-C
accept:4-D

2008-2012年间“质子”火箭发射任务分析2008-2012年间“质子”火箭共执行了48次发射任务,其中4次任务失败,成功率为91.67%。其中有3次失败是“微风”-M上面级故障所致,还有1次是Blok-DM上面级故障。“质子”火箭发射任务失败导致俄罗斯共损失6颗卫星。2008年·10次“质子”火箭发射,9次成功。·5次为俄罗斯联邦航天局和国防部的发射任务,全部成功。·5次为外国用户发射,1次失败。·1次发射任务失败是由“微风”-M上面级故障所致。·损失1颗AMC-14通信卫星。2009年·10次“质子”火箭发射,全部成功。·3次为俄罗斯联邦航天局和国防部的发射。·7次为外国用户发射。2010年·12次“质子”火箭发射,11次成功。·4次为俄罗斯联邦航天局和国防部的发射,1次失败。·8次为外国用户发射,全部成功。·1次发射失败由Blok-DM上面级故障所致。, ·损失3颗“格洛纳斯”(GLONASS)导航卫星。2011年·9次发射,8次成功。·4次为俄罗斯联邦航天局和国防部的发射,1次失败。·5次为外国用户发射,全部成功。·1次发射失败由“微风”-M上面级故障所致。·损失1颗“快车”-AM4通信卫星。2012年·7次发射,6次成功。·2次为俄罗斯联邦航天局和国防部的发射。·5次为外国用户发射。·1次发射失败由“微风”-M上面级故障所致。·损失1颗“快车”-MD-2通信卫星和1颗TelKom-3通信卫星。2008-2012年间“呼啸”火箭发射任务分析·“呼啸”火箭·8次发射,7次成功。·成功率为87.5%。·5次为俄罗斯联邦航天局和国防部的发射。·3次为外国用户发射。·1次发射失败由“微风”-KM上面级故障所致。·损失1颗GEO-!K对地观测卫星。2008-2012年间“宇宙”-3M火箭发射任务分析“宇宙”-3M火箭·5次发射,全部成功。·2次为俄罗斯联邦航天局和国防部的发射。·3次为外国用户发射。编辑:国防科技网 责任编辑:张海

4.1 And/Then/When

通过模式和计划组合多个 Observables 发射的数据集合。

图片 3

and,then,when

示例代码:

[据美国抛物线网站近日报道]由于“质子”号火箭8月发射失败,俄罗斯赫鲁尼契夫航天中心公布了其在过去5年的发射任务集成功率统计数据,已纠正在媒介传播的错误信息。赫鲁尼契夫航天中心发射任务

版权声明:本文由金沙国际登录网址发布于航空科技,转载请注明出处:再供应飞船将于2月28日在拜科努尔发射,组合操