Isi kandungan:
- Langkah 1: Kodnya
- Langkah 2: Ini Kod, JANGAN SALIN DAN LULUS
- Langkah 3: Sekiranya untuk Sebab Apa pun Ia Tidak Menyusun
Video: Membuat Fail Matlab MEX: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Petunjuk mengenai cara mengintegrasikan kod C yang disusun dengan Matlab. MEX bermaksud MATLAB Executable. Fail MEX adalah subrutin yang dihubungkan secara dinamik yang dihasilkan dari kod sumber C atau Fortran yang, apabila disusun, dapat dijalankan dari dalam MATLAB dengan cara yang sama seperti fail MLL atau fungsi terbina dalam. Fungsi antara muka luaran menyediakan fungsi untuk memindahkan data antara fail MEX dan MATLAB, dan keupayaan untuk memanggil fungsi MATLAB dari kod C atau Fortran. Di sini saya akan menunjukkan semua yang anda perlukan untuk membuat fail mex yang berguna dengan cepat. perlukan: = penyunting teks = matlab 6.1 atau lebih tinggi (versi terdahulu boleh menggunakan fail mex juga tetapi formatnya sedikit berbeza) = matlab mempunyai penyusun c sendiri yang disertakan dengannya, tetapi saya menggunakan penyusun visual c ++ kerana saya memilikinya.
Langkah 1: Kodnya
muat turun fail yang saya lampirkan: mextest1p0.cpp
cpp adalah singkatan dari c ++ ……… Inilah yang dilakukan kodnya: ……… ia memerlukan nombor yang anda kirimkan dari command prompt matlab. Ia mencetak "hello world" dalam matlab ia mengembalikan dua argumen ke matlab, susunan nombor dua elemen dan rentetan elemen pertama dari susunan nombor yang dikembalikan adalah 1 + nombor yang anda kirimkan elemen kedua dari susunan nombor yang dikembalikan adalah 2 + nombor yang anda kirimkan ………. Ini adalah cara melaksanakannya: ………… simpan fail tersebut ke komputer anda mulakan matlab arahkan di matlab ke direktori di mana fail tersebut kemudian ikuti arahan penyusunan dan pelaksanaan di bahagian atas fail.cpp. Saya tidak dapat menulis arahan ini di sini kerana arahan mengedit perintah secara automatik dan membuatnya tidak betul. Dalam gambar di bawah, anda dapat melihat kodnya berfungsi. Jangan bimbang tentang "amaran baris perintah", sepertinya tidak akan mempengaruhi apa-apa. Perhatikan di sebelah kiri, direktori semasa mengandungi fail.cpp. Di sebelah kanan anda dapat melihat saya menyusun kod dan kemudian melaksanakannya dari matlab. Baca fail di editor teks anda (misalnya notepad di windows), sangat didokumentasikan dan jelas, anda akan dapat melakukan hampir semua perkara yang anda perlukan dengan mengikuti konvensyen dalam kod (iaitu menyalin dan menempelkannya dan membuatnya sedikit pengubahsuaian) ############################################## ######################## …….. PERHATIAN …….. kerana beberapa penyuntingan automatik yang menjengkelkan yang dilakukan oleh instruktor, kod seperti yang dilihat pada halaman seterusnya TIDAK AKAN BEKERJA, anda HARUS MENGUNDUH FILE yang saya lampirkan daripada menyalin dan menampal ini. ################################################# ######################
Langkah 2: Ini Kod, JANGAN SALIN DAN LULUS
################################################# ##################### …….. PERHATIKAN …….. kerana beberapa penyuntingan automatik yang menjengkelkan yang diarahkan, kod seperti yang dilihat di halaman ini TIDAK AKAN BEKERJA, anda HARUS MENGUNDUH FILE yang saya lampirkan daripada menyalin dan menampal ini. ################################# ###################################### // Ini ditulis dalam c ++ oleh leevonk // itu adalah kod untuk fail mex matlab // kod itu akan mengambil satu nilai nombor dan mengeluarkan dua nilai nombor // dua nombor output dikira dari nombor input // kod itu juga akan mengeluarkan nilai rentetan // kod tersebut akan juga cetak "hello world" #include "mex.h" void mexFunction (int nlhs, mxArray * plhs , int nrhs, mxArray * prhs ) {// ############# ############################ // ####### - cetak "hello world" - ### ######### // ###################################### ### mexPrintf ("Hello world"); // ##################################### ##### // ######## - Dapatkan Barang Dari Matlab - ######### // ################ ########################## / * nyatakan pemboleh ubah array untuk menahan nilai masuk * / ganda * InValues; / * dapatkan nilai yang dihantar dari matlab * / InValues = mxGetPr (prhs [0]); / * untuk menggunakan nilai-nilai ini yang dihantar dari matlab, lakukan InValues [0], InValue [1], dan lain-lain mengikut berapa banyak nilai yang ada. InValues akan digunakan di bawah ini * /// ######################################## ## // ######## - Kembalikan susunan nombor - ######### // ################### ####################### / * nyatakan array yang akan dihantar ke matlab (the * menjadikannya array) * / double * OutValues; / * Buat / peruntukkan argumen pulangan, Matriks 1x2 (1 baris 2 lajur) untuk slot pertama array kembali (plhs [0]) * / plhs [0] = mxCreateDoubleMatrix (1, 2, mxREAL); / * Dapatkan penunjuk ke argumen pengembalian * / OutValues = mxGetPr (plhs [0]); / * berikan nilai kepada OutValues yang akan berada di slot pertama array kembali, di sini kita menggunakan InValues untuk komputer OutValues * / OutValues [0] = InValues [0] + 1; OutValues [1] = InValues [0] + 2; // ########################################## // ########### - Return a String - ############# // ################# ########################## / * nyatakan pemboleh ubah rentetan untuk dikirim ke matlab * / char * str; / * tetapkan nilai ke string * / str = "byebye"; / * masukkan rentetan ke dalam slot kedua susunan kembali (plhs [1]) * / plhs [1] = mxCreateString (str); // ########## ################################# // ########### - kembali lebih banyak barang - ############ // ################################ ############ / * untuk mengembalikan lebih banyak barang, ikuti peraturan umum di atas tetapi masukkan barang ke slot plhs lain, sila [somenumber] * /}
Langkah 3: Sekiranya untuk Sebab Apa pun Ia Tidak Menyusun
Sekiranya atas sebab apa pun ia tidak menyusun (semestinya, berfungsi dengan baik di komputer saya) melihat sumber-sumber ini, mereka adalah tempat saya belajar. Mereka mempunyai sedikit gangguan (penggunaan beberapa tatabahasa lama, tidak berfungsi, dan lain-lain) tetapi jika anda berulang-alik di antara keduanya, anda seharusnya dapat bersama-sama mengerjakan sesuatu yang berfungsi.https://web.ccr.jussieu.fr/ccr/ Dokumentasi / Kira / matlab5v11 / docs / 00009 / 009a1.htmhttps://cnx.org/content/m12348/latest/
Disyorkan:
Cara Membuat Radio Stereo Audiophile Ford Mainkan Fail Mp3: 7 Langkah
Cara Membuat Radio Stereo Ford Audiophile Mainkan Fail Mp3: Arahan ini akan memberi anda beberapa butiran penting mengenai bagaimana memenuhi syarat keserasian CD-R MP3 dari Audiophile Ford (dan mungkin Mach 300, Shaker 500, dan Shaker 1000) stereo kilang supaya anda dapat membakar dan menikmati fail MP3 dalam CD
Membuat Dashcam Pi Zero (hlm. 3): Pengurusan & Penambahbaikan Fail: 3 Langkah
Membuat Pi Zero Dashcam (hlm. 3): Pengurusan Fail & Penambahbaikan: Kami meneruskan projek Pi Zero dashcam dan dalam catatan ini, kami mengurus pengurusan fail sambil juga menambahkan beberapa peningkatan dalam prosesnya. Projek ini hampir selesai dan kami akan menjalankan ujian jalan raya dalam post / video minggu depan
Tukar (hanya Tentang) Mana-mana Fail Media ke (hanya Tentang) Mana-mana Fail Media Lain Secara Percuma !: 4 Langkah
Tukar (Hanya Tentang) Mana-mana Fail Media ke (hanya Tentang) Mana-mana Fail Media Lain Secara Percuma! lebih universal, seperti. wmv atau.mov. Saya mencari banyak forum dan laman web dan kemudian menemui program yang dipanggil
Cara Memampatkan Fail ISO Sandaran Psp Anda Ke Fail CSO untuk Menjimatkan Ruang .: 4 Langkah
Bagaimana Memampatkan Fail ISO Backup Psp Anda Ke Fail CSO untuk Menjimatkan Ruang: Dalam Instruksional ini, saya akan menunjukkan kepada anda cara memampatkan sandaran psps anda dari ISO ke CSO untuk menjimatkan ruang pada memory stick anda, hanya menggunakan satu perisian yang boleh digunakan dengan Wine In Ubuntu. Anda juga memerlukan psp CFW (Cusstom Firm-Ware) untuk
Cara Memperbaiki Fail Data yang Tidak Disokong, dan Muat turun Fail Video Kegemaran Anda untuk Portable PSP Anda: 7 Langkah
Cara Memperbaiki Fail Data yang Tidak Disokong, dan Muat turun Fail Video Kegemaran Anda untuk Portable PSP Anda: Saya menggunakan Media Go, dan melakukan beberapa trik untuk mendapatkan fail video yang tidak disokong untuk berfungsi di PSP saya. Ini adalah semua langkah saya yang saya lakukan , ketika saya mula-mula mendapatkan fail video saya yang tidak disokong untuk berfungsi di PSP saya. Ia berfungsi 100% dengan semua fail video saya ke PSP Po saya