विषयसूची:
वीडियो: मैटलैब मेक्स फ़ाइल बनाना: ३ कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
मैटलैब के साथ संकलित सी कोड को एकीकृत करने के निर्देश। MEX का मतलब MATLAB निष्पादन योग्य है। एमईएक्स-फाइलें सी या फोरट्रान स्रोत कोड से उत्पन्न गतिशील रूप से जुड़ी हुई सबरूटीन्स हैं, जो संकलित होने पर, MATLAB के भीतर से उसी तरह से चलाई जा सकती हैं जैसे MATLAB M-files या अंतर्निहित फ़ंक्शन। बाहरी इंटरफ़ेस फ़ंक्शन MEX-फ़ाइलों और MATLAB के बीच डेटा स्थानांतरित करने के लिए कार्यक्षमता प्रदान करते हैं, और MATLAB फ़ंक्शन को C या फोरट्रान कोड से कॉल करने की क्षमता प्रदान करते हैं। यहां मैं आपको एक उपयोगी मैक्स फ़ाइल बनाने के लिए आवश्यक सब कुछ दिखाऊंगा। आप क्या करेंगे आवश्यकता: = एक टेक्स्ट एडिटर = मैटलैब 6.1 या इसके बाद के संस्करण (पहले के संस्करण मैक्स फाइलें भी कर सकते हैं लेकिन थोड़ा अलग प्रारूप) = मैटलैब का अपना सी कंपाइलर है जो इसके साथ आता है, लेकिन मैंने विजुअल सी ++ कंपाइलर का इस्तेमाल किया क्योंकि मेरे पास यह था।
चरण 1: कोड
मेरे द्वारा संलग्न फ़ाइल डाउनलोड करें: mextest1p0.cpp
cpp का अर्थ है c++ ……… कोड यही करता है:……… यह एक नंबर लेता है जिसे आप इसे matlab कमांड प्रॉम्प्ट से भेजते हैं। यह मैटलैब में "हैलो वर्ल्ड" प्रिंट करता है, यह मैटलैब को दो तर्क देता है, एक दो तत्व संख्या सरणी और एक स्ट्रिंग लौटाई गई संख्या सरणी का पहला तत्व 1 + है जिसे आपने इसे भेजा है, लौटा संख्या सरणी का दूसरा तत्व 2 + है जिस नंबर पर आपने इसे भेजा है ………। इसे कैसे लागू किया जाए: …… अपने कंप्यूटर पर फ़ाइल को सहेजें प्रारंभ करें matlab में उस निर्देशिका में नेविगेट करें जहां फ़ाइल है, फिर शीर्ष पर संकलन और निष्पादन निर्देशों का पालन करें सीपीपी फ़ाइल। मैं इन निर्देशों को यहाँ नहीं लिख सकता क्योंकि अनुदेशक आदेशों को स्वतः संपादित करते हैं और उन्हें गलत तरीके से प्रदर्शित करते हैं। नीचे दी गई तस्वीर में आप कोड को काम करते हुए देख सकते हैं। "कमांड लाइन चेतावनी" के बारे में चिंता न करें, यह कुछ भी प्रभावित नहीं करता है। बाईं ओर सूचना, वर्तमान निर्देशिका में.cpp फ़ाइल है। दाईं ओर आप मुझे कोड संकलित करते हुए और फिर इसे matlab से निष्पादित करते हुए देख सकते हैं। अपने टेक्स्ट एडिटर में फ़ाइल के माध्यम से पढ़ें (उदाहरण के लिए विंडोज़ में नोटपैड), यह बहुत अच्छी तरह से प्रलेखित और आत्म व्याख्यात्मक है, आप कोड में सम्मेलनों का पालन करके लगभग कुछ भी करने में सक्षम होंगे (यानी इसे कॉपी और पेस्ट करना और बनाना मामूली संशोधन) ######################################### ###################### …….. नोट …….. कुछ कष्टप्रद ऑटो-एडिटिंग के कारण जो इंस्ट्रक्शंस करता है, कोड जैसा कि देखा गया है अगला पृष्ठ काम नहीं करेगा, आपको इसे कॉपी और पेस्ट करने के बजाय मेरे द्वारा संलग्न की गई फ़ाइल को डाउनलोड करना होगा। ############################################# #####################
चरण 2: यह कोड है, कॉपी और पेस्ट न करें
############################################# ###################…….. नोट …….. कुछ कष्टप्रद ऑटो-एडिटिंग के कारण जो इंस्ट्रक्शंस करता है, इस पेज पर देखा गया कोड नहीं होगा काम करें, आपको मेरे द्वारा संलग्न की गई फ़ाइल को कॉपी और पेस्ट करने के बजाय डाउनलोड करना होगा।############################ ####################################// यह सी ++ में leevonk द्वारा लिखा गया था// यह मैटलैब मैक्स फ़ाइल के लिए कोड है // कोड एक नंबर मान लेगा और आउटपुट दो नंबर मान // दो आउटपुट नंबरों की गणना इनपुट नंबर से की जाती है // कोड एक स्ट्रिंग मान आउटपुट करेगा // कोड होगा "हैलो वर्ल्ड" भी प्रिंट करें#include "mex.h"void mexFunction(int nlhs, mxArray *plhs, int nrhs, mxArray *prhs) {//########### ##########################//#######-- "हैलो वर्ल्ड" प्रिंट करें--### #########//################################### ### mexPrintf ("हैलो वर्ल्ड");//################################ #####//#######-- मैटलैब से सामान प्राप्त करें--########//############### ########################/ * आने वाली घाटी को पकड़ने के लिए एक सरणी चर घोषित करें */डबल* इनवैल्यूज़;/* matlab से भेजे गए मान प्राप्त करें */InValues = mxGetPr(prhs[0]);/* matlab से भेजे गए इन मानों का उपयोग करने के लिए, InValues करें [०], इनवैल्यू [1], आदि के अनुसार कितने मूल्य हैं। इनवैल्यूज़ का उपयोग नीचे किया जाएगा *///#################################### ##//########--एक संख्या सरणी लौटाएं--#########//################# #####################/* उस सरणी की घोषणा करें जिसे मैटलैब को भेजा जाएगा (* इसे एक सरणी बनाता है) */डबल * आउटवैल्यू;/ * रिटर्न तर्क बनाएं/आवंटित करें, रिटर्न ऐरे के पहले स्लॉट के लिए एक 1x2 (1 पंक्ति 2 कॉलम) मैट्रिक्स (plhs[0]) */plhs[0]=mxCreateDoubleMatrix(1, 2, mxREAL); /* वापसी तर्क के लिए सूचक प्राप्त करें */OutValues = mxGetPr(plhs[0]); /* आउटवैल्यूज़ को मान असाइन करें जो रिटर्न ऐरे के पहले स्लॉट में रहेगा, यहाँ हम कंप्यूटर के लिए इनवैल्यूज़ का उपयोग कर रहे हैं आउटवैल्यूज़ */आउटवैल्यूज़ [0] = इनवैल्यूज़ [0] + 1; आउटवैल्यूज़ [1] = इनवैल्यूज़ [0] + 2;//######################################// ###########- एक स्ट्रिंग लौटाएं--############//################ #######################/* घोषित स्ट्रिंग वैरिएबल को matlab */char* str;/* को एक मान असाइन करें स्ट्रिंग */str = "बायबाय";/* स्ट्रिंग को रिटर्न एरेज़ में दूसरा स्लॉट (plhs[1]) */plhs[1]=mxCreateString(str);//########## में डालें ##################################//###########--वापसी अधिक सामान--############//################################ ###########/* अधिक सामान वापस करने के लिए, ऊपर सामान्य नियमों का पालन करें लेकिन सामान को अन्य plhs स्लॉट में डाल दें, plhs[somenumber] */ }
चरण 3: यदि किसी कारण से यह संकलित नहीं होता है
अगर किसी भी कारण से यह संकलित नहीं होता है (इसे मेरे कंप्यूटर पर ठीक काम करना चाहिए) इन संसाधनों को देखें, वे वही हैं जहां से मैंने सीखा है। उनमें थोड़ी कमियां हैं (कुछ पुराने, गैर-कार्यात्मक व्याकरण, आदि का उपयोग करें) लेकिन यदि आप दोनों के बीच आगे-पीछे जाते हैं तो आपको कुछ ऐसा काम करने में सक्षम होना चाहिए जो काम करता है। https://web.ccr.jussieu.fr/ccr/ दस्तावेज़ीकरण/गणना/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
सिफारिश की:
पाई ज़ीरो डैशकैम बनाना (भाग 3): फ़ाइल प्रबंधन और संवर्द्धन: 3 चरण
पाई ज़ीरो डैशकैम बनाना (भाग 3): फ़ाइल प्रबंधन और संवर्द्धन: हम पाई ज़ीरो डैशकैम प्रोजेक्ट के साथ जारी रखते हैं और इस पोस्ट में, हम प्रक्रिया में कुछ एन्हांसमेंट जोड़ते हुए फ़ाइल प्रबंधन का भी ध्यान रखते हैं। यह परियोजना लगभग पूरी हो चुकी है और हम अगले सप्ताह के पोस्ट/वीडियो में सड़क परीक्षण करेंगे
(२) गेम बनाना शुरू करना - यूनिटी३डी में स्प्लैश स्क्रीन बनाना: ९ कदम
(२) गेम बनाना शुरू करना - यूनिटी ३ डी में स्प्लैश स्क्रीन बनाना: इस निर्देश में आप सीखेंगे कि यूनिटी ३ डी में एक साधारण स्प्लैश स्क्रीन कैसे बनाई जाती है। सबसे पहले, हम एकता खोलेंगे
एडिसन मेक्स मी ए कॉफ़ी (कोड): ३ कदम
एडिसन मेक्स मी ए कॉफ़ी (कोड): वाईफाई नेटवर्क में वाईफाई क्लाइंट का पता चलने पर यह प्रोजेक्ट आपको एक एक्शन (जैसे कॉफी परोसना) को ट्रिगर करने की अनुमति देगा (जैसे कि जब आप या आपके कर्मचारी आपके कार्यालय में आते हैं)
विंडोज डॉस कमांड का उपयोग करके फाइल बनाना: 16 कदम
विंडोज डॉस कमांड का उपयोग करके फाइल बनाना: यह आपको कुछ बुनियादी विंडोज डॉस कमांड का उपयोग करना सिखाएगा। हम अपने डेस्कटॉप पर नेविगेट करेंगे, एक फोल्डर बनाएंगे, और उस फोल्डर में एक फाइल बनाएंगे
कनवर्ट करें (बस के बारे में) किसी भी मीडिया फ़ाइल को (बस के बारे में) किसी भी अन्य मीडिया फ़ाइल को मुफ्त में !: 4 कदम
कनवर्ट करें (बस के बारे में) किसी भी मीडिया फ़ाइल को (बस के बारे में) किसी भी अन्य मीडिया फ़ाइल को मुफ्त में !: मेरा पहला निर्देश योग्य, चीयर्स! वैसे भी, मैं Google पर एक मुफ्त प्रोग्राम की तलाश में था जो मेरी Youtube.flv फ़ाइलों को एक प्रारूप में बदल देगा। अधिक सार्वभौमिक है, जैसे.wmv or.mov.मैंने अनगिनत मंचों और वेबसाइटों की खोज की और फिर एक प्रोग्राम मिला जिसका नाम