Daftar Isi:
- Langkah 1: Kode
- Langkah 2: Ini Kodenya, JANGAN COPY AND PASTE
- Langkah 3: Jika Karena Alasan Apa Pun Itu Tidak Dikompilasi
Video: Membuat File Matlab MEX: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Petunjuk tentang cara mengintegrasikan kode C yang dikompilasi dengan Matlab. MEX adalah singkatan dari MATLAB Executable. File-MEX adalah subrutin yang terhubung secara dinamis yang dihasilkan dari kode sumber C atau Fortran yang, ketika dikompilasi, dapat dijalankan dari dalam MATLAB dengan cara yang sama seperti file-M MATLAB atau fungsi bawaan. Fungsi antarmuka eksternal menyediakan fungsionalitas untuk mentransfer data antara file MEX dan MATLAB, dan kemampuan untuk memanggil fungsi MATLAB dari kode C atau Fortran. Di sini saya akan menunjukkan semua yang Anda butuhkan untuk membuat file mex yang berguna dengan cepat. perlu:= editor teks= matlab 6.1 atau lebih tinggi (versi sebelumnya dapat melakukan file mex juga tetapi formatnya sedikit berbeda) = matlab memiliki kompiler c sendiri yang menyertainya, tetapi saya menggunakan kompiler visual c++ karena saya memilikinya.
Langkah 1: Kode
unduh file yang saya lampirkan: mextest1p0.cpp
cpp adalah singkatan dari c++ ………Inilah yang dilakukan oleh kode:……… dibutuhkan nomor yang Anda kirimkan dari command prompt matlab. Itu mencetak "hello world" di matlab itu mengembalikan dua argumen ke matlab, array nomor dua elemen dan string elemen pertama dari array angka yang dikembalikan adalah 1 + nomor yang Anda kirimkan elemen kedua dari array angka yang dikembalikan adalah 2 + nomor yang Anda kirimkan ………. Ini adalah cara menerapkannya: ………… simpan file ke komputer Anda mulai matlab navigasikan di matlab ke direktori tempat file tersebut kemudian ikuti instruksi kompilasi dan eksekusi di bagian atas file.cpp. Saya tidak dapat menulis instruksi ini di sini karena instruksi otomatis mengedit perintah dan membuatnya muncul dengan tidak benar. Pada gambar di bawah ini Anda dapat melihat kode berfungsi. Jangan khawatir tentang "peringatan baris perintah", sepertinya tidak berpengaruh apa-apa. Perhatikan di sisi kiri, direktori saat ini berisi file.cpp. Di sebelah kanan Anda dapat melihat saya mengkompilasi kode dan kemudian menjalankannya dari matlab. Baca file di editor teks Anda (misalnya notepad di windows), didokumentasikan dengan sangat baik dan cukup jelas, Anda akan dapat melakukan hampir semua yang Anda butuhkan dengan mengikuti konvensi dalam kode (yaitu menyalin dan menempelkannya dan membuat sedikit modifikasi) ############################################################## ######################## …….. CATATAN…….. karena beberapa pengeditan otomatis yang mengganggu yang dilakukan oleh instruksi, kode seperti yang terlihat pada halaman berikutnya TIDAK AKAN BEKERJA, ANDA HARUS MENGUNDUH FILE yang saya lampirkan alih-alih menyalin dan menempel ini. ############################################################# ############################
Langkah 2: Ini Kodenya, JANGAN COPY AND PASTE
############################################################# #####################…….. CATATAN……..karena beberapa pengeditan otomatis yang mengganggu yang dilakukan oleh instruksi, kode seperti yang terlihat pada halaman ini TIDAK AKAN BEKERJA, ANDA HARUS MENGUNDUH FILE yang saya lampirkan daripada menyalin dan menempel ini.############################################# #####################################################################//Ini ditulis dalam c++ oleh leevonk// itu adalah kode untuk file matlab mex // kode akan mengambil nilai satu angka dan menghasilkan dua nilai angka // dua angka output dihitung dari nomor input // kode juga akan menampilkan nilai string // kode akan cetak juga "hello world"#include "mex.h"void mexFunction(int nlhs, mxArray *plhs, int nrhs, mxArray *prhs) {//############# ############################/#######--print "hello world"--### #########//################################################## ###mexPrintf("Halo dunia");//###################################################### #####//########--Dapatkan Barang Dari Matlab--#########//############################# ################################/ * mendeklarasikan variabel array untuk menampung nilai yang masuk */double* InValues;/* mendapatkan nilai yang dikirim dari matlab */InValues = mxGetPr(prhs[0]);/* untuk menggunakan nilai yang dikirim dari matlab, lakukan InValues [0], InValue[1], dll sesuai dengan berapa banyak nilai yang ada. InValues akan digunakan di bawah ini *///########################################################## ##//########--Mengembalikan array angka--#########//############################ #######################/* mendeklarasikan array yang akan dikirim ke matlab (yang * membuatnya menjadi array) */double* OutValues;/ * Buat/alokasikan argumen pengembalian, Matriks 1x2 (1 baris 2 kolom) untuk slot pertama larik pengembalian (plhs[0]) */plhs[0]=mxCreateDoubleMatrix(1, 2, mxREAL); /* Dapatkan pointer ke argumen pengembalian */OutValues = mxGetPr(plhs[0]); /* memberikan nilai ke 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;//############################################################// ###########--Mengembalikan String--############//############################ ##########################/* mendeklarasikan variabel string yang akan dikirim ke matlab */char* str;/* menetapkan nilai ke string */str = "byebye";/* masukkan string ke dalam slot kedua array kembali (plhs[1]) */plhs[1]=mxCreateString(str);//########## ##################################//###########--kembali lebih banyak barang--############//################################ ############/* untuk mengembalikan lebih banyak barang, ikuti aturan umum di atas tetapi masukkan barang ke slot lain, plhs[somenumber] */ }
Langkah 3: Jika Karena Alasan Apa Pun Itu Tidak Dikompilasi
Jika karena alasan apa pun itu tidak dapat dikompilasi (seharusnya, berfungsi dengan baik di komputer saya) lihat sumber daya ini, dari sanalah saya belajar. Mereka memiliki sedikit gangguan (penggunaan beberapa tata bahasa lama yang tidak berfungsi, dll) tetapi jika Anda bolak-balik di antara keduanya, Anda harus dapat menyatukan sesuatu yang berfungsi. https://web.ccr.jussieu.fr/ccr/ Documentation/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
Direkomendasikan:
Cara Membuat Radio Stereo Ford Audiophile Memutar File Mp3.: 7 Langkah
Cara Membuat Radio Stereo Ford Audiophile Memutar File Mp3.: Instruksi ini akan memberi Anda beberapa detail penting tentang cara memenuhi persyaratan kompatibilitas CD-R MP3 dari Ford Audiophile (dan mungkin Mach 300, Shaker 500, dan Shaker 1000 ) stereo pabrik sehingga Anda dapat membakar dan menikmati file MP3 di CD
Membuat Pi Zero Dashcam (pt. 3): Manajemen & Penyempurnaan File: 3 Langkah
Membuat Dashcam Pi Zero (pt. 3): Manajemen & Peningkatan File: Kami melanjutkan proyek dashcam Pi Zero dan dalam posting ini, kami menangani manajemen file sambil juga menambahkan beberapa peningkatan dalam prosesnya. Project ini hampir selesai dan kita akan melakukan road test di postingan/video minggu depan
Konversi (hanya Tentang) File Media Apa Saja ke (Hanya Tentang) File Media Lainnya Gratis!: 4 Langkah
Konversi (hanya Tentang) File Media Apa Saja ke (Hanya Tentang) File Media Lainnya Gratis!: Instruksi pertama saya, sorak-sorai! Bagaimanapun, saya di Google mencari program gratis yang akan mengonversi file Youtube.flv saya ke format yang lebih universal, seperti.wmv atau.mov.Saya mencari forum dan situs web yang tak terhitung jumlahnya dan kemudian menemukan sebuah program bernama
Cara Mengompresi File ISO Cadangan Psp Anda Menjadi File CSO untuk Menghemat Ruang: 4 Langkah
Cara Mengompresi File ISO Cadangan Psp Anda Menjadi File CSO untuk Menghemat Ruang dapat digunakan dengan Wine Di Ubuntu. Anda juga memerlukan psp CFW (Cusstom Firm-Ware) untuk membuat
Cara Memperbaiki File Data yang Tidak Didukung, dan Mengunduh File Video Favorit Anda untuk PSP Portable Anda: 7 Langkah
Cara Memperbaiki File Data yang Tidak Didukung, dan Mengunduh File Video Favorit Anda untuk PSP Portable: Saya menggunakan Media Go, dan melakukan beberapa trik agar file video yang tidak didukung berfungsi di PSP saya. Ini semua langkah yang saya lakukan , ketika saya pertama kali mendapatkan file video saya yang tidak didukung untuk bekerja di PSP saya. Ia bekerja 100% dengan semua file video saya ke PSP Po