MATLAB Multithreading, EASY (1 / 1 stap)

Stap 1: code


zal u matlab en een gewone teksteditor: gebruik ofwel Kladblok die wordt geleverd met windows (zoekt notepad.exe) of gebruik de matlab m bestandseditor (bestand-nieuwe-mfile). Dit werkte met matlab 6.5 (R13) en matlab 7 (R14) maar ik heb problemen met het met matlab r2007a.

1) download de code en wav bestand is gekoppeld aan deze stap (Code en Wav-File.rar), dit is een gecomprimeerd bestand, moet u winzip of winrar te decomprimeren. Opmerking: omdat instructables is enigszins achterlijk dit bestand wordt gedownload als iets als FLSKW9EFHIK6H6V.tmp, dus je hernoem het naar something.rar moet (vervelend, maar niet mijn schuld).
2) Sla beide van deze (code en wav-bestand) in uw matlab 'werk' directory (maakt dingen makkelijker)
3) open matlab
4) Typ in mex mythreadprog.cpp
4.5) Opmerking: als dit de eerste keer dat u gebruikmaakt van de mex-compiler in matlab is, typt u mex-setup vóór stap 4 om te kiezen van de compiler die u wilt gebruiken.
5) wanneer mij zulks op mijn matlab verrichten ik krijg een 'command line waarschuwing', maar op om het even wat niet uitwerking
6) type in hullo = 1, dit initialiseert een variabele door het mex-bestand gebruikt (als je niet doen zal dit matlab crash)
7) in te voeren het bestandstype mex mythreadprog

8) op de matlab-prompt ziet u Val #
Indien # is de waarde van Hallo, hoort u ook het wav-bestand afspelen 7 keer, de tijd tussen elke afspelen van het wav-bestand is (1 seconde * hullo), dus als u hoort het geluid wordt afgespeeld kunt u de waarde van hullo (hullo = 5, romp = 3, enz) en hoor je de draad van de mex dit rekening houdend met (er zullen verschillende lengte pauzes als u de waarde van de hullo in matlab wijzigt)
Merk op dat matlab besturingselement herstelt u onmiddellijk ook al de wol nog steeds op de achtergrond wordt uitgevoerd.

9) als u wilt dat de wol om de veranderende waarden bij de matlab-prompt kunt u _both_ van de lijnen labelled //---for testen--- in de code uncomment

Opmerking: als u alleen de mexPrintf in de thread en niet de slaap in de mexFunction matlab uncomment zal verpletteren. Dit komt doordat waarnaar een retouraanroep matlab verzendt je na beëindiging van de mexFunction. Als u wilt dat de draad terug te sturen informatie naar matlab nadat de mexFunction is gestopt met er meer compicated (aka. Ik weet niet hoe het opzoeken op google).

#include < windows.h >
#include < stdlib.h >
#include < string.h >
#include < stdio.h >
#include < conio.h >
#include < process.h > //used voor draad
#include "mex.h"
#include < mmsystem.h > //used voor geluid
#pragma commentaar (lib, "winmm.lib") //used voor geluid

VOID cdecl MyThread(LPVOID pVoid);

//######################################################
###--belangrijkste mex functie--###
//######################################################
VOID mexFunction (int nlhs, mxArray * plhs,
int nrhs, mxArray *prhs[])
{
int ThreadNr; nodig voor de thread

Start uw draad
_beginthread (MyThread, 0, & ThreadNr);

---voor het testen van---
Sleep(20000); zal de functie van de mex rond verblijf voor 20 seconden, zodat u zien de mexPrintfs van de wol, kunt indien gewenst
}

//################################################
//##########--Thread Code--#########################
//################################################
VOID cdecl MyThread(LPVOID pVoid)
{
declareren van variabelen/aanwijzers
int x = 0; gebruikt om # of terwijl loops
Const mxArray * myarray; gebruikt om te helpen met het ophalen van de waarde van de variabele van uw matlab
dubbele * TempPointer; gebruikt om te helpen met het ophalen van de waarde van de variabele van uw matlab
dubbele Val; bevat de waarde van uw variabele matlab

---Setup aanwijzers alvorens de thread's lus, op deze manier zullen we niet om te praten
---tot matlab helemaal zodra we de draad (we zullen worden gewoon toegang tot de matlab
---variabelen geheugenlocatie). Dit is nuttig omdat een heleboel echt snelle communicatie met
---matlab kan het crashen.
krijgen van een pointer naar een pointer naar de hullo-variabele (die u dient in matlab initialiseren voordat u dit prog)
myarray = mexGetVariablePtr ("base", "Hallo"); base-beller kan worden of globale
van de hullo variabele waarde krijgen van de pointers, opslaan in de Val
TempPointer = mxGetPr(myarray);

while(x<10)
{
x ++;

Hier zijn we toegang tot de geheugenlocatie van de variabele van de matlab zonder te praten met matlab
Val = * TempPointer;

een geluid afspelen
PlaySound ("alleluia.wav", NULL, SND_FILENAME | SND_SYNC);
wacht Val seconden tussen geluiden
Sleep(1000*val);

---voor het testen van---
mexPrintf("Val:%f", Val);
}
}

Gerelateerde Artikelen

YEAAAUGH, WHHAT? OKKKAY! Lil Jon Easy Button

YEAAAUGH, WHHAT? OKKKAY! Lil Jon Easy Button

ooit wou de Staples Easy Button (R) kon iets beter dan de alledaagse zeggen "Dat was makkelijk."? Hoe zit een Lil Jon knop?YEAAAUGH, OKKKAY!We gaan!Stap 1: Wat u nodig zult hebben (en waar te krijgen het): Opmerking: U moet een manier om het pro
De muis van de erkenning van het gebaar met Matlab beeldverwerking.

De muis van de erkenning van het gebaar met Matlab beeldverwerking.

Ooit denken dat wearables belangrijke positie in de behandeling van de computer bezetten zal?Gebaar doet het allemaal.Welkom op mijn nieuwe project met de muis van de erkenning van het gebaar.Hier zijn de projectvereisten:1) kleur penningen/markering
Easy-peasy rijgtasje zonnebril!

Easy-peasy rijgtasje zonnebril!

Jingle bells, jingle bells!Ahh, Kersttijd... Wellicht denken sneeuw, dekens en een toasty advocaat bij de open haard.Dus waarom op aarde (in het zuidelijk halfrond) ben ik het maken van een zakje van de zonnebril die u vragen?Nou, smeekt de Australis
20 Easy Ways to Save - A User vriendelijke Guide

20 Easy Ways to Save - A User vriendelijke Guide

het alleen 'easy money' in deze wereld, voor de werkende klasse mensen, is het geld dat u bespaart. Werk is hard, maar is niet geld besparen. Ik ben zeker lui als het gaat om budgettering. Ook graag ik geld, dus het is moeilijk als ik zeg tegen mezel
Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Hallo iedereen!Sinds toen heb ik begon te spelen met de Arduino, heb ik altijd geweest zwerven hoe ik kon maken het praten en communiceren met de Matlab-omgeving op een gemakkelijke en effectieve manier. Ik botste tegen vele Instructables en tutorial
Toad in het gat Made Easy

Toad in het gat Made Easy

Na de oprichting van mijn instructable "Yorkshire pudding Made Easy" hier is een instructable voor Toad in het gat.Stap 1: U moetIngrediënten4 eieren1 kopje Semi magere melk1 kopje bloem1/2 theelepel zoutPlantaardige olieFacultatieve ingrediënte
Tutorial 6 - MATLAB en Arduino deel 1 (opwaarts en lopende)

Tutorial 6 - MATLAB en Arduino deel 1 (opwaarts en lopende)

hoe je Arduino werken met MATLAB.Helaas MATLAB kan erg duur zijn, maar u kunt een soortgelijke versie van MATLAB hieronder genoemd FreeMat downloaden.FreeMat:http://freemat.sourceforge.net/File:www.mathworks.com/matlabcentral/fileexchange/32374-MATLA
Ultrasone Mapmaker met behulp van de Arduino en MatLab

Ultrasone Mapmaker met behulp van de Arduino en MatLab

Vision is een van de meest opwindende zintuigen u op uw robot geven kan. De mogelijkheid om het waarnemen van obstakels staat een robot om een gefundeerde beslissing betreffende verdere verplaatsingen.Het is echter ook niet de gemakkelijkste zintuige
Neem uw eigen bericht op Staples Easy button

Neem uw eigen bericht op Staples Easy button

Ik heb een paar andere web posten over het wijzigen van de Staples Easy button om te spelen van uw eigen bericht, maar nu dat Radio Shack heeft gesloten, sommige van deze berichten zijn niet langer geldig.Een andere methode nodig hebben van een 9-vol
Super snelle & Easy LED Growlight

Super snelle & Easy LED Growlight

hier is een snelle en gemakkelijke manier om uw aquaponic, hydrocultuur of vroege start spruiten wat extra volledige spectrum licht liefde!!!via de 5 tot 10 minuten tijd en de totale kosten van ongeveer 7-10 dollar instellen.De spruiten zal dank u!!!
Maken met behulp van Arduino van Radar, ultrasone sensor en MATLAB

Maken met behulp van Arduino van Radar, ultrasone sensor en MATLAB

In dit project zijn we gonna make een eenvoudige radar te detecteren obstakels.Bereik is afhankelijk van het bereik van de ultrasone sensor we gebruikten (in dit project: 3 meter).Stap 1: onderdelenOnderdelen:1 - Arduino Uno2 - ultrasone afstandssens
EASY MCPE Mansion

EASY MCPE Mansion

Hi guys! Welkom bij mijn instructable, hoe het bouwen van een EASY peasy herenhuis. Nou, het is niet echt een herenhuis, het net ziet eruit als een. Het duurt ongeveer 15-25 minuten om afhankelijk van hoe snel u bouwen. Dus wat we wachten? Laat aan d
KLEUR detectie met behulp van MATLAB

KLEUR detectie met behulp van MATLAB

In dit artikel ga ik om aan te tonen hoe te detecteren van kleur met behulp van MATLABStap 1: GUI elementen gebruikt:1. assen2. twee drukknoppen3. tekst bewerkenKleurenafbeeldingen• Een kleurenmodel is een methode voor het opgeven van de kleuren in e
Arduino en Matlab + DHT11

Arduino en Matlab + DHT11

Arduino UNODHT11BROOD BORD EN VERBINDING DRADENLCD 2 * 16MATLAB PROG.