¥»¸`±N¤¶²Ð¨âÓ½d¨Ò¡A¥H«K¹ï¤Gºû¯x°}¶i¦æ³B²z¡A
²Ä¤@Ó½d¨Ò¬O arrayx2.c¡A¥i±N¿é¤J¤Gºû¯x°}¡]¥i¯à¥]§t¹ê³¡©Mµê³¡¡^¼¥H 2¡A¨ä¤º®e¦p¤U¡G
±µµÛ¡A§ÚÌ¥i¥H½sĶ¥H¤Wµ{¦¡¡G
>> mex arrayx2.c
±ý½T»{¥i°õ¦æÀɪº¦s¦b¡A¥i¿é¤J¦p¤U¡G
>> which arrayx2
D:\matlabBook\MATLABµ{¦¡³]p¡G¶i¶¥½g\03-À³¥Îµ{¦¡¤¶±\arrayx2.mexw64
±ý¶i¦æ´ú¸Õ¡A¥i¿é¤J¦p¤U¡G
>> arrayx2([1 2 3])
ans =
2 4 6
>> arrayx2([1+i 2+2i 3+3i; 4 5 6])
ans =
2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000i
8.0000 10.0000 12.0000
>> arrayx2('Test string')
??? Input must be a double.
¥»¸`ªº²Ä¤GÓ MEX ½d¨Ò¬O pairdist.c¡]ÀɦW¬°¡upairwise distance¡vªºÂ²ºÙ¡^¡A¥i±µ¨ü¨âÓ¿é¤J¯x°} A ©M B¡A¯x°}ªº¤j¤p¤À§O¬O p¡Ñm ¤Î p¡Ñn¡A¦¹¨âÓ¯x°}¤À§O¥Nªí¥Ñ m Óª½¦æ¦V¶q¤Î n Óª½¦æ¦V¶q©Ò§Î¦¨ªº¶°¦X¡A¦Ó¨C¤@Ó¦V¶qªºªø«×³£¬O p¡C¦¹ MEX Àɮ׶Ǧ^¤@Ó¶ZÂ÷¯x°} C¡A¨ä¤¤ C(i, j)¬°¦V¶q A(:, i) ©M¦V¶q B(:, j) ªº¯xÂ÷¡C
pairdist.c ªºµ{¦¡½X¦p¤U¡G
±µµÛ¡A§ÚÌ¥i¥H¹ï¥H¤Wµ{¦¡¶i¦æ½sĶ¡G
>> mex pairdist.c
½sͧ¹¦¹µ{¦¡«á¡A¥i´ú¸Õ¦p¤U¡G
>> which pairdist
D:\matlabBook\MATLABµ{¦¡³]p¡G¶i¶¥½g\03-À³¥Îµ{¦¡¤¶±\pairdist.mexw64
>> pairdist([2 3], [2 3 4])
ans =
0 1 2
1 0 1
>> A = rand(2, 3);
>> B = rand(2, 4);
>> C = pairdist(A, B)
C =
0.5104 0.9806 0.4544 0.5649
0.3562 0.2347 0.5911 0.2628
0.2101 0.5891 0.2675 0.1639
>> pairdist('string1', 'string2')
??? Input 1 is not a full numerical array!
¥»¸`©Ò¤¶²Ðªº½d¨Ò¡A§¡¬O¹ï¤Gºû¯x°}¶i¦æ³B²z¡A¨ä¥¦§ó½ÆÂøªº½d¨Ò¡A¥i¨£ MATLAB API ªº¬ÛÃö¤â¥U¡C
MATLABµ{¦¡³]p¡G¶i¶¥½g