1. #1
    Tristan's Avatar
    Registered
    13/08/04
    Location
    Kortrijk
    Posts
    2,960
    iTrader
    31 (97%)
    Mentioned
    0 Post(s)
    Reputation
    2/15

    Matlab GUIDE vraagje

    Hey iedereen,

    Ik ben wat aan het experimenteren met GUI's in matlab. Beetje bij beetje
    ontdek ik hoe alles in elkaar zit, maar ik heb nu toch een, stom waarschijnlijk, probleem in mijn code.

    Ik heb in mijn .m file van mij GUI, twee functies staan. De ene functie steekt een bepaalde waar de in een lokale? variabele. Diezelfde variabele wil ik echter verder verwerken in een tweede functie.

    Ik heb die variabele al gedeclareerd als GLOBAL in de eerste functie, maar dat werkt alleszins ook niet. Hoe zorg ik dan wel dat die tweede functie over die variabelen beschikt?

    Many kudos!
    Sit mens sana in corpore sano
    no votes  

  2. #2
    Fraggie's Avatar
    Registered
    17/07/02
    Posts
    9,537
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/39
    Als je dan toch al werkt met GUI's kan je dan niet direct overschakelen naar een object georiƫnteerde manier van werken?

    Toch raad ik af om iets anders te doen dan uitwerken van algoritmes met MATLAB, omdat het daar echt niet performant genoeg voor is. Wil je toch met GUI's werken dan kan je beter met Python + NumPy + Qt/Wx werken impo.
    no votes  

  3. #3
    Tristan's Avatar
    Registered
    13/08/04
    Location
    Kortrijk
    Posts
    2,960
    iTrader
    31 (97%)
    Mentioned
    0 Post(s)
    Reputation
    2/15
    De GUI dient gewoon om wat metingen (FFT's) wat beter te organizeren dan het runnen van aparte scriptjes... That's all

    EDIT: Eigenlijk heeft die GUI er niks mee te maken, het is pure code in de .m file
    Sit mens sana in corpore sano
    no votes  

  4. #4
    Tristan's Avatar
    Registered
    13/08/04
    Location
    Kortrijk
    Posts
    2,960
    iTrader
    31 (97%)
    Mentioned
    0 Post(s)
    Reputation
    2/15
    Gevonden denk ik... Blijkbaar moet je alle variabelen die je globaal wilt gebruiken laten voorafgaan door 'handles.', bijvoorbeeld 'handles.data' .

    Ik neem aan dat dit de correcte methode is?
    Sit mens sana in corpore sano
    no votes  

  5. #5
    Fraggie's Avatar
    Registered
    17/07/02
    Posts
    9,537
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/39
    Waarom kan je de variabel niet mee geven als parameter aan de tweede functie? Maar sowieso zijn globale variabelen iets om te vermeiden.

    Een voorbeeld met global:

    Runner.m
    Code:
    clc;
    clear;
    x = 5;
    
    ftionOne();
    ftionTwo();
    ftionOne.m
    Code:
    function ftionOne()
        global x;
        disp(x);
    end
    ftionTwo.m
    Code:
    function ftionTwo()
        global x;
        disp(x);
    end
    Geeft als resultaat:
    Code:
    5
    
    5
    no votes  

  6. #6
    Tristan's Avatar
    Registered
    13/08/04
    Location
    Kortrijk
    Posts
    2,960
    iTrader
    31 (97%)
    Mentioned
    0 Post(s)
    Reputation
    2/15
    Bedankt voor je hulp in elk geval Fraggie

    Ik neem aan dat je je scriptjes runt vanuit de command window van matlab? Dan komen je variabelen in je workspace & kun je ze met elk script lezen & bewerken.

    Echter mijn functie ( hetgeen die achter de GUI ) draait, komen er geen variabelen in die workspace...
    Sit mens sana in corpore sano
    no votes  

  7. #7
    Fraggie's Avatar
    Registered
    17/07/02
    Posts
    9,537
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/39
    Quote Originally Posted by Tristan View Post
    This quote is hidden because you are ignoring this member. Show
    Bedankt voor je hulp in elk geval Fraggie

    Ik neem aan dat je je scriptjes runt vanuit de command window van matlab? Dan komen je variabelen in je workspace & kun je ze met elk script lezen & bewerken.

    Echter mijn functie ( hetgeen die achter de GUI ) draait, komen er geen variabelen in die workspace...
    Klopt, maar misschien volstaat het om een wrapper-file te schrijven die de geheugen ruimte toewijst?

    Kan je anders die code eens sharen: uploaden naar een fileshare server of pastbin a.u.b.? Want ik ben eens benieuwd hoe het dan juist in elkaar zit.
    no votes  

  8. #8
    Tristan's Avatar
    Registered
    13/08/04
    Location
    Kortrijk
    Posts
    2,960
    iTrader
    31 (97%)
    Mentioned
    0 Post(s)
    Reputation
    2/15
    Quote Originally Posted by Fraggie View Post
    This quote is hidden because you are ignoring this member. Show
    Klopt, maar misschien volstaat het om een wrapper-file te schrijven die de geheugen ruimte toewijst?

    Kan je anders die code eens sharen: uploaden naar een fileshare server of pastbin a.u.b.? Want ik ben eens benieuwd hoe het dan juist in elkaar zit.
    Met veel plezier, ik stuur je straks een PM
    Sit mens sana in corpore sano
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in