"함수 geomean()"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(다른 사용자 한 명의 중간 판 8개는 보이지 않습니다)
5번째 줄: 5번째 줄:
==Excel==
==Excel==
[[category: Excel]]
[[category: Excel]]
<source lang='PHP'>
<syntaxhighlight lang='PHP'>
=GEOMEAN(1,2,3,4,5)
=GEOMEAN(1,2,3,4,5)
// 2.605171085
// 2.605171085
17번째 줄: 17번째 줄:
=GEOMEAN(-1,-2,-3,-4,-5)
=GEOMEAN(-1,-2,-3,-4,-5)
// #NUM!
// #NUM!
</source>
</syntaxhighlight>


==PHP==
==PHP==
[[category: PHP]]
[[category: PHP]]
<source lang='PHP'>
<syntaxhighlight lang='PHP'>
function array_geomean($a) {
function geomean() {
  foreach($a as $i=>$n) $mul = $i == 0 ? $n : $mul*$n;
$args = func_get_args();
  return pow($mul,1/count($a));
$m = 1;
foreach($args as $n) $m *= $n;
return pow($m,1/count($args));
}
}


echo array_geomean( array(1, 2, 3, 4, 5) );
echo geomean( 1, 2, 3, 4, 5 );
// 2.6051710846974
// 2.6051710846974
echo array_geomean( array(4, 5, 8, 7, 11, 4, 3) );
echo geomean( 4, 5, 8, 7, 11, 4, 3 );
// 5.476986969657
// 5.476986969657
echo array_geomean( array(-1, 3, 4, 10293) );
echo geomean( -1, 3, 4, 10293 );
// NAN
// NAN
echo array_geomean( array(-1, -2, -3, -4, -5) );
echo geomean( -1, -2, -3, -4, -5 );
// NAN
// NAN
</source>
</syntaxhighlight>
<syntaxhighlight lang='PHP'>
function array_geomean($arr) {
$m = 1;
foreach($arr as $n) $m *= $n; 
return pow($m,1/count($arr));
}
 
echo array_geomean( [1, 2, 3, 4, 5] );
// 2.6051710846974
echo array_geomean( [4, 5, 8, 7, 11, 4, 3] );
// 5.476986969657
echo array_geomean( [-1, 3, 4, 10293] );
// NAN
echo array_geomean( [-1, -2, -3, -4, -5] );
// NAN
</syntaxhighlight>
 
==같이 보기==
*[[함수 harmean()]]
*[[기하평균]]

2020년 11월 2일 (월) 02:36 기준 최신판

GEOMEAN
array_geomean

1 Excel[ | ]

=GEOMEAN(1,2,3,4,5)
// 2.605171085

=GEOMEAN(4,5,8,7,11,4,3)
// 5.47698697

=GEOMEAN(-1,3,4,10293)
// #NUM!

=GEOMEAN(-1,-2,-3,-4,-5)
// #NUM!

2 PHP[ | ]

function geomean() {
	$args = func_get_args();
	$m = 1;
	foreach($args as $n) $m *= $n;
	return pow($m,1/count($args));
}

echo geomean( 1, 2, 3, 4, 5 );
// 2.6051710846974
echo geomean( 4, 5, 8, 7, 11, 4, 3 );
// 5.476986969657
echo geomean( -1, 3, 4, 10293 );
// NAN
echo geomean( -1, -2, -3, -4, -5 );
// NAN
function array_geomean($arr) { 
	$m = 1;
	foreach($arr as $n) $m *= $n;  
	return pow($m,1/count($arr));
}

echo array_geomean( [1, 2, 3, 4, 5] );
// 2.6051710846974
echo array_geomean( [4, 5, 8, 7, 11, 4, 3] );
// 5.476986969657
echo array_geomean( [-1, 3, 4, 10293] );
// NAN
echo array_geomean( [-1, -2, -3, -4, -5] );
// NAN

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}