3-3 MATLAB ������������������������ API

¦b¼¶¼g MEX Àɮפ§«e¡A±z¥²¶·¥ý¤F¸Ñ MATLAB Åܼƪº¤º³¡¸ê®Æµ²ºc¡A¥H«K©M C ªº¸ê®Æµ²ºc¶i¦æ¹ïÀ³¡CMATLAB ¤º³¡³Ì¥D­nªº¸ê®Æ«¬ºA¬O mxArray¡A¥¦¬O¤@­Ó C »y¨¥¤Uªºµ²ºc¡]Structure¡^¡A¦Ü¤Ö¥]§t¤F¤U¦C¸ê°T¡G

  1. MATLAB ¹ïÀ³ªºÅܼƦWºÙ
  2. ºû«×
  3. ¸ê®Æ«¬ºA
  4. ¹ê¼Æ©Î½Æ¼Æ
  5. ¬O§_¬°µ}²¨¯x°}¡]Sparse Matrix¡^
¦b¨C­Ó mxArray µ²ºc¤§¤U¡A¥]§t¨â­Ó«ü¼Ð¡]Pointers¡^pr ¤Î pi¡A¤À§O«ü¨ì³o­ÓÅܼƪº¹ê³¡©Mµê³¡¡A¨âªÌ³£¬O¸ê®Æ«¬ºA¬° double ªº¤@ºû°}¦C¡C±ý¨ú±o³o¨â­Ó«ü¼Ð¡A¶·¥Î MATLAB ´£¨Ñªº API ¨ç¼Æ mxGetPr ¤Î mxGetPi ¨Ó¨ú±o¡A³z¹L³o¨â­Ó«ü¼Ð¡A´N¥i¦s¨ú¬Y­Ó MATLAB ÅܼƤºªº©Ò¦³¼Æ­È¡]¨Ò¦p¡G¤@­Ó¯x°}¤¤¡A¬Y­Ó¤¸¯Àªº¹ê³¡©Îµê³¡­È¡A©Î¬Y­Óµ²ºc°}¦C¤¤ªºÄæ¦ì­Èµ¥¡^¡C

MATLAB ´£¨Ñ¤F«Ü¦h API ¨ç¼Æ¡A³o¨Ç¨ç¼Æªº¦WºÙ¨Ì¨ä¥\¦Ó¦³¤£¦Pªº¦rÀY¡]Prefixes¡^¡A»¡©ú¦p¤U¡G

  1. ¥H mx ¬°¦rÀYªº API ¨ç¼Æ¡A¥Nªí¹ï MATLAB ¤º³¡ÅÜ¼Æ¸ê®Æ¡]«¬ºA¬° mxArray¡^ªº¦s¨ú¡A¨Ò¦p mxGetPr¡]¶Ç¦^¹ê³¡«ü¼Ð¡^¡BmxGetPi¡]¶Ç¦^µê³¡«ü¼Ð¡^¡BmxGetM¡]¨ú±o¯x°}ªº¾î¦Cºû«×¡^¡BmxGetN¡]¨ú±o¯x°}ªºª½¦æºû«×¡^¡BmxCreateDoubleMatrix¡]²£¥ÍÅܼƫ¬ºA¬° double ªº¯x°}¡^µ¥¡C
  2. ¥H mex ¬°¦rÀYªº API ¨ç¼Æ¡A¥Nªí¦b MATLAB Àô¹Ò¤U°õ¦æªº°Ê§@¡A¨Ò¦p mexErrMsgTxt¡]¦b MATLAB ¦L¥X¿ù»~°T®§¡A¨Ã¸õ¥X MEX Àɮס^¡BmexCallMATLAB¡]©I¥s MATLAB ¤ÞÀº¥H°õ¦æ MATLAB ¤§¼Æ­È¹Bºâ¡^¡BmexPrintf¡]¦b MATLAB ¦L¥X°T®§¡^µ¥¡C
  3. ¥H mat ¬°¦rÀYªº API ¨ç¼Æ¡A¥Nªí¹ï MAT ÀɮתºÅª¼g©Î³B²z¡A¨Ò¦p¡GmatGetArray¡]±q MAT ÀÉ®×Ū¨ú mxArray °}¦C¡^¡AmatDeleteArray¡]±q MAT Àɮײ¾°£ mxArray °}¦C¡^µ¥¡C
³o¨Ç API ¨ç¼ÆºØÃþÁc¦h¡A¦U¦³¤£¦Pªº¯S®í¥\¯à¡A±z¥iª½±µ°Ñ¾\²Ä¤@¸`©Ò´£¨ìªº¡uMATLAB Application Program Interface Reference¡v¤â¥U¡A¿ï¥Î¾A¦Xªº API ¨ç¼Æ¡C
MATLABµ{¦¡³]­p¡G¶i¶¥½g