ዝርዝር ሁኔታ:

የማትላብ MEX ፋይል ማድረግ - 3 ደረጃዎች
የማትላብ MEX ፋይል ማድረግ - 3 ደረጃዎች

ቪዲዮ: የማትላብ MEX ፋይል ማድረግ - 3 ደረጃዎች

ቪዲዮ: የማትላብ MEX ፋይል ማድረግ - 3 ደረጃዎች
ቪዲዮ: haw to install math lab software የማትላብ ሶፍትዌር አጫጫን በቀላሉ 2024, ሀምሌ
Anonim
የማትላብ MEX ፋይል ማድረግ
የማትላብ MEX ፋይል ማድረግ

የተጠናከረ ሲ ኮድን ከ Matlab ጋር እንዴት ማዋሃድ እንደሚቻል መመሪያዎች። MEX ለ MATLAB አስፈፃሚ ማለት ነው። MEX- ፋይሎች ከ MAT ወይም ከ ‹Fortran ምንጭ› ኮድ ከተዘጋጁ ከ ‹‹M›› ፋይሎች ወይም አብሮገነብ ተግባራት ጋር በተመሳሳይ መልኩ ከ MATLAB ውስጥ ሊሠሩ ከሚችሉት ከ‹ ሲ ›ወይም ከ‹ ፎርትራን ›ምንጭ ኮድ የተሰሩ ንዑስ መርሆዎች ናቸው። የውጭ በይነገጽ ተግባራት በ MEX- ፋይሎች እና በ MATLAB መካከል መረጃን ለማስተላለፍ እና የ MATLAB ተግባሮችን ከ C ወይም ከ Fortran ኮድ የመደወል ችሎታን ያቀርባሉ። እዚህ ጠቃሚ የ mex ፋይል በፍጥነት ለመስራት የሚያስፈልጉዎትን ሁሉ አሳይሻለሁ። የሚያስፈልግ: = የጽሑፍ አርታኢ = matlab 6.1 ወይም ከዚያ በላይ (ቀደምት ስሪቶች ሜክስ ፋይሎችን ማድረግ ይችላሉ ፣ ግን ትንሽ የተለየ ቅርጸት) = ማትላብ አብሮ የሚሄድ የራሱ የሆነ ሲ ማጠናከሪያ አለው ፣ ግን እኔ ስለነበረኝ የእይታ ሐ ++ አቀናባሪን እጠቀም ነበር።

ደረጃ 1 - ኮዱ

ኮዱ
ኮዱ

እኔ ያያያዝኩትን ፋይል ያውርዱ: mextest1p0.cpp

cpp የሚያመለክተው ለ C ++ ……… ይህ ኮዱ የሚያደርገው ነው ……… ከማቲላብ ትዕዛዝ ጥያቄ የላኩትን ቁጥር ይወስዳል። በማተብ “ሰላም ዓለም” ን ያትማል ፣ ሁለት ነጋሪ እሴቶችን ወደ ማትላብ ይመልሳል ፣ የሁለት አካል ቁጥር ድርድር እና ሕብረቁምፊ የተመለሰው የቁጥር ድርድር የመጀመሪያ አካል 1 + የላከው ቁጥር የተመለሰው የቁጥር ድርድር ሁለተኛ አካል 2 + ነው የላኩበትን ቁጥር ……….cpp ፋይል። አስተማሪዎች ትዕዛዞቹን በራስ-ሰር አርትዖት ስለሚያደርጉ እና በስህተት እንዲታዩ ስለሚያደርግ እነዚህን መመሪያዎች እዚህ መጻፍ አልችልም። ከዚህ በታች ባለው ሥዕል ውስጥ ኮዱ ሲሠራ ማየት ይችላሉ። ስለ “የትእዛዝ መስመር ማስጠንቀቂያ” አይጨነቁ ፣ ምንም የሚያመጣ አይመስልም። በግራ በኩል ማስታወቂያ ፣ የአሁኑ ማውጫ.cpp ፋይል ይ containsል። በቀኝ በኩል ኮዱን አጠናቅሬ ከዚያ ከማትላብ ስፈጽመው ማየት ይችላሉ። በጽሑፍ አርታኢዎ ውስጥ (ለምሳሌ በመስኮቶች ውስጥ የማስታወሻ ደብተር) በፋይሉ ውስጥ ያንብቡ ፣ እሱ በጣም በጥሩ ሁኔታ የተፃፈ እና እራሱን የሚያብራራ ነው ፣ በኮዱ ውስጥ ያሉትን ስምምነቶች በመከተል የሚፈልጉትን ማለት ይቻላል ማንኛውንም ማድረግ ይችላሉ (ማለትም መቅዳት እና መለጠፍ እና ማድረግ መጠነኛ ማሻሻያዎች) ######################################## #። የሚቀጥለው ገጽ አይሰራም ፣ ይህንን ከመገልበጥ እና ከመለጠፍ ይልቅ ያያያዝኩትን ፋይል ማውረድ አለብዎት። ##################################################### #########################

ደረጃ 2 - ይህ ኮዱ ነው ፣ አይቅዱ እና አይለጥፉ

ይህ ኮዱ ነው ፣ አይቅዱ እና አይለጥፉ
ይህ ኮዱ ነው ፣ አይቅዱ እና አይለጥፉ

##################################################### ###################### …….. NOTE ……..አስተማሪዎቹ በሚያደርጉት አንዳንድ የሚያበሳጭ ራስ-አርትዖት ምክንያት ፣ በዚህ ገጽ ላይ እንደሚታየው ኮዱ አያደርግም። ሥራ ፣ ይህንን ከመገልበጥ እና ከመለጠፍ ይልቅ እኔ ያያያዝኩትን ፋይል ማውረድ አለብዎት። ######################################## // ይህ የተጻፈው በ c ++ በ leevonk // እሱ ለማትላብ ሜክስ ፋይል ኮድ ነው/ኮዱ በአንድ የቁጥር እሴት ይወስዳል እና ሁለት የቁጥር እሴቶችን ያወጣል // ሁለቱ የውጤት ቁጥሮች ከግቤት ቁጥር ይሰላሉ // ኮዱ እንዲሁ የሕብረቁምፊ እሴት ያወጣል/ እንዲሁም “ሰላም ዓለም”#ያካተተ “mex.h” ባዶ ሜክስ ተግባር (int nlhs ፣ mxArray *plhs ፣ int nrhs ፣ mxArray *prhs ) {// ############## ############################## // #######-“ሰላም ዓለም” ን ያትሙ-### ######### // // ########################################## ### mexPrintf ("ሰላም ዓለም"); // ######################################### ##### // ########-ከማትብብ ነገሮች ያግኙ-######### // ################## #############################/ * መጪውን vales ለመያዝ*/ድርብ* InValues ን ለመያዝ የድርድር ተለዋዋጭ ያውጃሉ//* ከ matlab የተላኩ እሴቶችን ያግኙ*/InValues = mxGetPr (prhs [0]) ፤/* ከማትላብ የተላኩትን እነዚህን እሴቶች ለመጠቀም ፣ InValues ያድርጉ [0] ፣ InValue [1] ፣ ወዘተ ስንት እሴቶች እንዳሉት። ግኝቶቹ ከዚህ በታች */// ############################################# ## // ########-የቁጥር ድርድር ይመልሱ-########## // ###################### ########################/ * * ወደ ማትላብ የሚላከውን ድርድር ያውጃሉ (the * a array ያደርገዋል) */double * OutValues;/ * የመመለሻ ክርክር ፣ 1x2 (1 ረድፍ 2 አምድ) ማትሪክስ ለተመልካቹ ድርድር የመጀመሪያ ማስገቢያ (plhs [0]) */plhs [0] = mxCreateDoubleMatrix (1 ፣ 2 ፣ mxREAL) ፤ / * ወደ መመለሻ ክርክር ጠቋሚ ያግኙ */OutValues = mxGetPr (plhs [0]); / * በመመለሻ ድርድር የመጀመሪያ ማስገቢያ ውስጥ ለሚኖሩት ለ OutValues እሴቶችን ይመድቡ ፣ እዚህ እኛ InValues ን OutValues */OutValues [0] = InValues [0] + 1 ፤ OutValues [1] = InValues [0] ን በኮምፒዩተር ላይ እንጠቀማለን + 2; // ############################################# // ############-አንድ ሕብረቁምፊ ይመልሱ-############# // #################### ###########################/** ወደ ማትላብ*/ቻር* str የሚላክበትን የሕብረቁምፊ ተለዋዋጭ ያውጁ ፤/* እሴት ለ ሕብረቁምፊ */str = "ደህና ሁን";/ *ሕብረቁምፊውን ወደ መመለሻ ድርድር ሁለተኛ ማስገቢያ (plhs [1]) */plhs [1] = mxCreateString (str) ፤ // ########### ################################### // // #############-ተመላሽ ተጨማሪ ነገሮች-############# // #################################### ተጨማሪ ነገሮችን ለመመለስ ############/ * * ተጨማሪ ነገሮችን ለመመለስ ፣ ከላይ ያሉትን አጠቃላይ ህጎች ይከተሉ ነገር ግን ዕቃውን ወደ ሌሎች የ plhs ቦታዎች ፣ plhs [somenumber] */} ያስገቡ

ደረጃ 3 - ለማንኛውም ምክንያት ካልሰበሰበ

ለማንኛውም ምክንያት ካልሰበሰበ
ለማንኛውም ምክንያት ካልሰበሰበ

በማንኛውም ምክንያት ካልሰበሰበ (በኮምፒውተሬ ላይ በጥሩ ሁኔታ መሥራት አለበት) እነዚህን ሀብቶች ይመልከቱ ፣ እኔ የተማርኩባቸው ናቸው። እነሱ ትንሽ ድክመቶች አሏቸው (አንዳንድ አሮጌ ፣ የማይሰራ ሰዋሰዋዊ አጠቃቀምን ፣ ወዘተ) ነገር ግን በሁለቱ መካከል ወደ ኋላ እና ወደ ፊት ከሄዱ የሚሰራውን አንድ ላይ ማሰባሰብ መቻል አለብዎት። ሰነድ/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/

የሚመከር: