º´Æ£/·åÍî¤Á
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
ñ¸ì¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
//¸¦µæ¼¼¸ÂÄê¡¡
[[º´Æ£/³Ø½¬]]
**·åÍî¤Á¤òÄ´¤Ù¤ëÍýͳ [#abcfb26d]
SPH¤Ç¤Ï¡¢¥«¡¼¥Í¥ë´Ø¿ô¤¬¥µ¥Ý¡¼¥È¤¹¤ëÈÏ°ÏÆâ¤Ë¤¢¤ëγ»Ò¤òÍѤ¤¤Æ·×»»¤¹¤ë¡£
SPH¤Ç¤Ï°ÌÃÖr¤ÎʪÍýÎÌf(r)¤ò·×»»¤¹¤ë¤Î¤Ë¡¢ÊªÍýÎÌf(r)¤½¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯,kernel´Ø¿ôW(r,h)¤Ë¤è¤Ã¤ÆÊ¿¶Ñ²½¤µ¤ì¤¿ÊªÍýÎ̤òÍѤ¤¤ë¡£¼°¤Ï&br;
<f(r)>=¦² m/p * f(r) * W(r,h)&br;
¤Î¤è¤¦¤Ë¤¢¤é¤ï¤µ¤ì¤ë¡£&br;
&br;
ÌäÂêÅÀ¤Ï
ÀÑ»»¤·¤Æ¤¤¤ë½ê¡§ÀºÅÙ¤ò¥Ô¡¼¥¯¤Ë¹ç¤ï¤»¤ÆÀÑ»»¤·¤Æ¤¤¤ë-¡¡£&br;¾®¤µ¤¤ÀºÅÙ¤òÂçÎ̤ò¤·¹ç¤ï¤»¤ë¾ì¹ç¡¢¡¤Ë¤è¤êÀºÅÙ¤¬°¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£&br;¤Ê¤Î¤Ç¤è¤ê¾®¤µ¤¤ÀºÅ٤ޤǤ·¹ç¤ï¤»¤ë¤³¤È¤¬½ÐÍè¤ì¤ÐÀºÅÙ¤¬¸þ¾å¤¹¤ë¤Î¤Ç¤Ï¡©
**·åÍî¤Á¤È¤Ï [#hfb1c914]
ÉâÆ°¾®¿ôÅÀ±é»»¤Ç¡¢·×»»·ë²Ì¤¬0¤Ë¶Ëü¤Ë¶á¤¯¤Ê¤ë²Ã¸º»»¤ò¹Ô¤Ã¤¿¤È¤¤Ë¡¢Í¸ú¿ô»ú¤Î·å¿ô¤¬¶Ëü¤Ë¾¯¤Ê¤¯¤Ê¤ë¸½¾Ý¡£&br;
Î㤨¤Ð¡¢¡Ö1.23456789x102-1.23456780x102¡×¤Î¤è¤¦¤Ê·×»»¤ò¹Ô¤Ê¤¦¤È¡¢·×»»·ë²Ì¤Ï¡Ö9x10-6¡×¤È¤Ê¤ê¡¢Í¸ú¿ô»ú¤Î·å¿ô¤Ï9·å¤«¤é°ìµ¤¤Ë1·å¤Ë¸º¾¯¤·¤Æ¤·¤Þ¤¦¡£ÉâÆ°¾®¿ôÅÀ·Á¼°¤ÎÃͤÏÆâÉôŪ¤Ë¤Ï¾ï¤Ë͸ú¿ô»ú¤Î·å¿ô¤ò°ìÄê¤È¤·¤Æ°·¤Ã¤Æ¤¤¤ë¤¿¤á¡¢·åÍî¤Á¤¬È¯À¸¤¹¤ë¤È¡¢ÉÔ¤·¤¿·å¿ô¤¬¼«Æ°Åª¤Ë0¤ÇËä¤á¤é¤ì¤Æ¤·¤Þ¤¤¡¢¿¿¤ÎÃÍ¤È¤Î´Ö¤Ë¸íº¹¤¬È¯À¸¤¹¤ë¡£¤½¤·¤Æ¡¢·åÍî¤Á¤·¤¿¿ôÃͤËÂ礤ʿô¤ò³Ý¤±¤ë¤Ê¤É¤Î·×»»¤ò¹Ô¤Ê¤¦¤È¡¢È¯À¸¤·¤¿¸íº¹¤¬¾å¤Î·å¤Ë¾å¤¬¤Ã¤Æ¤¯¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢·×»»·ë²Ì¤ò̵°ÕÌ£¤Ë¤¹¤ë¤Û¤É¤ÎÂç¤¤Ê¸íº¹¤ò´Þ¤ó¤ÀÃͤ¬ÊÖ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£ &br;
·åÍî¤Á¼«ÂΤˤè¤ëÌäÂê¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤È¤Ï̵´Ø·¸¤ËȯÀ¸¤¹¤ë¤¬¡¢¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Î·åÍî¤Á¤Ï¡¢·×»»ÅÓÃæ¤ÎÃͤ¬Ê¬¤«¤é¤Ê¤¤¡¦·ë²Ì¤Î·å¿ô¤¬¾ï¤Ë°ìÄê¤Ê¤Î¤Çµ¤¤Å¤¤Ë¤¯¤¤¤È¤¤¤¦ÆÃħ¤¬¤¢¤ë¡£
&br;
**Cɸ½à¥é¥¤¥Ö¥é¥ê [#mfa918a1]
ɸ½à¥é¥¤¥Ö¥é¥ê¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¼Â¿ô¤ò¾®¿ôÀ®Ê¬¤ÈÀ°¿ôÀ®Ê¬¤ËÊÑ´¹¤¹¤ë¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ë¡£ °Ê²¼»²¾È¡£
--double frexp(double x, int *exp)
--float frexpf(float x, int *exp)
--long double frexpl(long double x, int *exp)
»È¤¤ÊýÎã
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <float.h>
main(){
double x,y;
int ex;
x=ÃÍ;
y=frexp(x,&ex);
printf("%lf = %lf*%d^%d\n",x,y,FLT_RADIX,ex);
}
¼Â¹Ô¤¹¤ë¤È
512.000000 = 0.500000*2^10
-4.000000 = -0.500000*2^3
**SPH¤Ç¤Î·åÍî¤Á [#x8b3b655]
(xi - xj)^2 +(yi - yj)^2 = r2 ¤ò·×»»¡£&br;
10step·×»»¤·¤¿»þÅÀ¤Î·åÍî¤Á¤òÄ´¤Ù¤¿¡££µ¡Á£··å¤Î·åÍî¤Á¤ò³Îǧ¡£
i j xi xj yi yj r2
0 1 : (0.637504*2^3 - 0.656238*2^3)^2 + (0.925029*2^2 - 0.989966*2^2)^2 =0.719447*2^-3
2 3 : (0.637496*2^3 - 0.656236*2^3)^2 + (0.527464*2^3 - 0.559939*2^3)^2 =0.719777*2^-3
594 570: (0.768750*2^4 - 0.750000*2^4)^2 + (0.523532*2^4 - 0.523532*2^4)^2 =0.720000*2^-3
½ªÎ»¹Ô:
//¸¦µæ¼¼¸ÂÄê¡¡
[[º´Æ£/³Ø½¬]]
**·åÍî¤Á¤òÄ´¤Ù¤ëÍýͳ [#abcfb26d]
SPH¤Ç¤Ï¡¢¥«¡¼¥Í¥ë´Ø¿ô¤¬¥µ¥Ý¡¼¥È¤¹¤ëÈÏ°ÏÆâ¤Ë¤¢¤ëγ»Ò¤òÍѤ¤¤Æ·×»»¤¹¤ë¡£
SPH¤Ç¤Ï°ÌÃÖr¤ÎʪÍýÎÌf(r)¤ò·×»»¤¹¤ë¤Î¤Ë¡¢ÊªÍýÎÌf(r)¤½¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯,kernel´Ø¿ôW(r,h)¤Ë¤è¤Ã¤ÆÊ¿¶Ñ²½¤µ¤ì¤¿ÊªÍýÎ̤òÍѤ¤¤ë¡£¼°¤Ï&br;
<f(r)>=¦² m/p * f(r) * W(r,h)&br;
¤Î¤è¤¦¤Ë¤¢¤é¤ï¤µ¤ì¤ë¡£&br;
&br;
ÌäÂêÅÀ¤Ï
ÀÑ»»¤·¤Æ¤¤¤ë½ê¡§ÀºÅÙ¤ò¥Ô¡¼¥¯¤Ë¹ç¤ï¤»¤ÆÀÑ»»¤·¤Æ¤¤¤ë-¡¡£&br;¾®¤µ¤¤ÀºÅÙ¤òÂçÎ̤ò¤·¹ç¤ï¤»¤ë¾ì¹ç¡¢¡¤Ë¤è¤êÀºÅÙ¤¬°¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£&br;¤Ê¤Î¤Ç¤è¤ê¾®¤µ¤¤ÀºÅ٤ޤǤ·¹ç¤ï¤»¤ë¤³¤È¤¬½ÐÍè¤ì¤ÐÀºÅÙ¤¬¸þ¾å¤¹¤ë¤Î¤Ç¤Ï¡©
**·åÍî¤Á¤È¤Ï [#hfb1c914]
ÉâÆ°¾®¿ôÅÀ±é»»¤Ç¡¢·×»»·ë²Ì¤¬0¤Ë¶Ëü¤Ë¶á¤¯¤Ê¤ë²Ã¸º»»¤ò¹Ô¤Ã¤¿¤È¤¤Ë¡¢Í¸ú¿ô»ú¤Î·å¿ô¤¬¶Ëü¤Ë¾¯¤Ê¤¯¤Ê¤ë¸½¾Ý¡£&br;
Î㤨¤Ð¡¢¡Ö1.23456789x102-1.23456780x102¡×¤Î¤è¤¦¤Ê·×»»¤ò¹Ô¤Ê¤¦¤È¡¢·×»»·ë²Ì¤Ï¡Ö9x10-6¡×¤È¤Ê¤ê¡¢Í¸ú¿ô»ú¤Î·å¿ô¤Ï9·å¤«¤é°ìµ¤¤Ë1·å¤Ë¸º¾¯¤·¤Æ¤·¤Þ¤¦¡£ÉâÆ°¾®¿ôÅÀ·Á¼°¤ÎÃͤÏÆâÉôŪ¤Ë¤Ï¾ï¤Ë͸ú¿ô»ú¤Î·å¿ô¤ò°ìÄê¤È¤·¤Æ°·¤Ã¤Æ¤¤¤ë¤¿¤á¡¢·åÍî¤Á¤¬È¯À¸¤¹¤ë¤È¡¢ÉÔ¤·¤¿·å¿ô¤¬¼«Æ°Åª¤Ë0¤ÇËä¤á¤é¤ì¤Æ¤·¤Þ¤¤¡¢¿¿¤ÎÃÍ¤È¤Î´Ö¤Ë¸íº¹¤¬È¯À¸¤¹¤ë¡£¤½¤·¤Æ¡¢·åÍî¤Á¤·¤¿¿ôÃͤËÂ礤ʿô¤ò³Ý¤±¤ë¤Ê¤É¤Î·×»»¤ò¹Ô¤Ê¤¦¤È¡¢È¯À¸¤·¤¿¸íº¹¤¬¾å¤Î·å¤Ë¾å¤¬¤Ã¤Æ¤¯¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢·×»»·ë²Ì¤ò̵°ÕÌ£¤Ë¤¹¤ë¤Û¤É¤ÎÂç¤¤Ê¸íº¹¤ò´Þ¤ó¤ÀÃͤ¬ÊÖ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£ &br;
·åÍî¤Á¼«ÂΤˤè¤ëÌäÂê¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤È¤Ï̵´Ø·¸¤ËȯÀ¸¤¹¤ë¤¬¡¢¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Î·åÍî¤Á¤Ï¡¢·×»»ÅÓÃæ¤ÎÃͤ¬Ê¬¤«¤é¤Ê¤¤¡¦·ë²Ì¤Î·å¿ô¤¬¾ï¤Ë°ìÄê¤Ê¤Î¤Çµ¤¤Å¤¤Ë¤¯¤¤¤È¤¤¤¦ÆÃħ¤¬¤¢¤ë¡£
&br;
**Cɸ½à¥é¥¤¥Ö¥é¥ê [#mfa918a1]
ɸ½à¥é¥¤¥Ö¥é¥ê¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¼Â¿ô¤ò¾®¿ôÀ®Ê¬¤ÈÀ°¿ôÀ®Ê¬¤ËÊÑ´¹¤¹¤ë¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ë¡£ °Ê²¼»²¾È¡£
--double frexp(double x, int *exp)
--float frexpf(float x, int *exp)
--long double frexpl(long double x, int *exp)
»È¤¤ÊýÎã
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <float.h>
main(){
double x,y;
int ex;
x=ÃÍ;
y=frexp(x,&ex);
printf("%lf = %lf*%d^%d\n",x,y,FLT_RADIX,ex);
}
¼Â¹Ô¤¹¤ë¤È
512.000000 = 0.500000*2^10
-4.000000 = -0.500000*2^3
**SPH¤Ç¤Î·åÍî¤Á [#x8b3b655]
(xi - xj)^2 +(yi - yj)^2 = r2 ¤ò·×»»¡£&br;
10step·×»»¤·¤¿»þÅÀ¤Î·åÍî¤Á¤òÄ´¤Ù¤¿¡££µ¡Á£··å¤Î·åÍî¤Á¤ò³Îǧ¡£
i j xi xj yi yj r2
0 1 : (0.637504*2^3 - 0.656238*2^3)^2 + (0.925029*2^2 - 0.989966*2^2)^2 =0.719447*2^-3
2 3 : (0.637496*2^3 - 0.656236*2^3)^2 + (0.527464*2^3 - 0.559939*2^3)^2 =0.719777*2^-3
594 570: (0.768750*2^4 - 0.750000*2^4)^2 + (0.523532*2^4 - 0.523532*2^4)^2 =0.720000*2^-3
¥Ú¡¼¥¸Ì¾: