9-5 高維?¼å?點內?’æ?

§Ú­Ì¥i¥H¨Ï¥Î interpn «ü¥O¨Ó¶i¦æ°ªºû®æ¤lÂI¤º´¡¡A¨ä¨Ï¥Î»yªk¦p¤U¡G

vi = interpn(x1, x2,.., v, y1, y2,.., method)

¨ä¤¤ x1¡Bx2¡B¡K ¬O¸ê®ÆÂIªº¿é¤J³¡¥÷¡Av ¬O¸ê®ÆÂIªº¿é¥X³¡¥÷¡Ay1¡By2¡B¡K ¬O¤º´¡ÂI¡A¦Ó¦r¦ê method «h¥i«ü©w¤º´¡¤èªk¡A¦³¤U¦C 4 ºØ¡G

¨Ï¥Î interpn ®É¡Ax1¡Bx2¡B¡K ¥²¶·¬OÄY®æ»¼¼W©Î»¼´î¡C¬°¤F«OÃҮ榡¥¿½T¡Ax1¡Bx2¡B¡K ³Ì¦n¬O¥Ñ ndgrid «ü¥O²£¥Í¡A¥H«O«ù¨ä®æ¦¡¥¿½T©Ê¡C

¤Gºû®æ¤lÂI¥i¥Ñ meshgrid «ü¥O²£¥Í¡A¦Ó°ªºû®æ¤lÂI«h¥i¥Ñ ndgrid «ü¥O©Ò²£¥Í¡A¨ä¨Ï¥Î»yªk¦p¤U¡G

[X1, X2, X3,¡K] = ndgrid(x1, x2, x3,¡K)

¨ä¤¤ XI ªº²Ä i ºû¤¸¯À¬O¥Ñ xi ¤ÏÂв£¥Í¡CÁ|¨Ò¨Ó»¡¡A§Ú­Ì¥i­pºâ¤U¦C¤èµ{¦¡

$$ z = x_2 e^{-x_1^2-x_2^2-x_3^2} $$

¦b®æ¤lÂIªº­È¡A¨Ã¥HÃC¦â¥Nªí­Èªº¤j¤p¡AµM«á¦A¥Î§ó±Kªº¸ê®ÆÂI¨Ó¶i¦æ¤º´¡¡A±o¨ì§ó²Ó½oªº¹Ï¡A¦p¤U¡G

Example 1: 09-¤º´¡ªk/interpn01.mx1 = -2:0.4:2; x2 = -2:0.5:2; x3 = -2:0.3:2; [x1, x2, x3] = ndgrid(x1, x2, x3); z = x2.*exp(-x1.^2-x2.^2-x3.^2); subplot(2,1,1); slice(x2, x1, x3, z, [-1, 1], [], [0]); shading interp % §R°£®æ½u¡A¨Ã§ï¥Î¥­·ÆªºÃC¦â view(-20, 15); colorbar; % Åã¥ÜÃC¦â»P¨ç¼Æ­Èªº¹ï·Óªí y1 = -2:0.1:2; y2 = -2:0.1:2; y3 = -2:0.1:2; [y1, y2, y3] = ndgrid(y1, y2, y3); zz = interpn(x1, x2, x3, z, y1, y2, y3); subplot(2,1,2); slice(y2, y1, y3, zz, [-1, 1], [], [0]); shading interp % §R°£®æ½u¡A¨Ã§ï¥Î¥­·ÆªºÃC¦â view(-20, 15); colorbar; % Åã¥ÜÃC¦â»P¨ç¼Æ­Èªº¹ï·Óªí

¦b¤W­z½d¨Ò¤¤¡A¤W¤èªº¹Ï¤ñ¸û²ÊÁW¡A¤U¤èªº¹Ï«h¤ñ¸û²Ó±K¡AÅã¥Ü interpn «ü¥Oªº¤º´¡®ÄªG¡C¥t¥~¡A¦b¤W­z½d¨Ò¤¤¡A§Ú­Ì¨Ï¥Î interpn «ü¥O¨Ó¹ï 3 ­Ó¿é¤Jªº¸ê®ÆÂI¶i¦æ¤º´¡¡A¦¹¥\¯à¬O©M interp3 ¬Û¦Pªº¡A¦ý¨Æ¹ê¤W¡A interpn «ü¥O¬O¥i¥H¹ï§ó°ªºû«×ªº¸ê®ÆÂI¶i¦æ¤º´¡¡A©Ò¥H¦b¥\¯à§ó¬°±j¤j¡C


MATLABµ{¦¡³]­p¡G¶i¶¥½g