perl 不放回抽样

perl 不放回抽样,第1张

概述好吧,上次由于交代不是很清楚,搞了个抽样放回的程序,今天重新弄了一下,把它写成模块的形式: package Sampling;use warnings;use strict;require Exporter;our @ISA = qw(Exporter);our @EXPORT_OK = qw(swor fac); #swor -- sampling without replaceme

好吧,上次由于交代不是很清楚,搞了个抽样放回的程序,今天重新弄了一下,把它写成模块的形式:

package Sampling;use warnings;use strict;require Exporter;our @ISA = qw(Exporter);our @EXPORT_OK = qw(swor fac); #swor -- sampling without replacementsub swor{	my ($sample_num,$sampling_num) = @_;	my @array = (1..$sample_num);	my @percom;	for(my $i = 0; $i < $sampling_num; $i ++)	{		my $index = int(rand(@array));		push @percom,$array[$index];		my @tmp;		if($index eq 0)		{			@tmp = @array[($index + 1)..$#array];		}elsif($index eq $#array){			@tmp = @array[0..($index - 1)];		}else{			@tmp = (@array[0..($index - 1)],@array[($index + 1)..$#array]);		}		@array = ();		@array = @tmp;	}	return @percom;}sub fac{	my $value = shift;	if($value eq 1)	{		return 1;	}elsif($value eq 0){		return 1;	}else{		return $value * &fac($value - 1);	}}

文件名保存与package相同的名字,后缀为.pm,主程序调用就可以了。

总结

以上是内存溢出为你收集整理的perl 不放回抽样全部内容,希望文章能够帮你解决perl 不放回抽样所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1281609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存