Archief - M-file sluiten in Matlab

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Passenger

Legacy Member
Dit is mss een stom vraagje maar het lukt me maar niet.
Ik wil mijn programma kunnen 'resetten'. Om het wat simpel te houden laat ik het programma gewoon sluiten door een m-file Reset.m en daarna weer opstarten.
Ik dacht het eerst zo aan te pakken:
fclose(fopen(strcat(pwd,'\Programma.m')));
run(strcat(pwd,'\Programma.m'));
Maar dit doet blijkbaar niks. Iemand die me kan helpen?

Fraggie

Legacy Member
functie aanroepen..
clear all;
close all;
functie terug aanroepen..

nee?

Passenger

Legacy Member
Fraggie zei:
functie aanroepen..
clear all;
close all;
functie terug aanroepen..

nee?

Dat had ik ook al eens geprobeerd, maar mn gui sluit daarmee niet af precies:(

plmuo

Legacy Member
Ik ben daar nooit goed in geweest maar kun je het commando clc niet gebruiken.

Passenger

Legacy Member
Goh, gans de code van mn programma online zetten zou wat veel zijn. Ik zal enkel het relevante deeltje posten. Ik heb gewoon een menu-item 'nieuw' met volgende callback:

function Nieuw_Callback(hObject, eventdata, handles)
% Deze functie roept Reset.m aan die het programma afsluit
% en opnieuw opstart.
run(strcat(pwd,'\Reset.m'));


Reset.m ziet er simpelweg als volgt uit:

function Reset
fclose(fopen(strcat(pwd,'\Programma.m')));
run(strcat(pwd,'\Programma.m'));
'ok'

-> Ok verschijnt op het scherm, voor de rest geen foutmeldingen...

Fraggie

Legacy Member
Passenger zei:
Reset.m ziet er simpelweg als volgt uit:

function Reset
fclose(fopen(strcat(pwd,'\Programma.m')));
run(strcat(pwd,'\Programma.m'));
'ok'

-> Ok verschijnt op het scherm, voor de rest geen foutmeldingen...
Komt dat van een website waarin het werkt, of heb je het zelf geschreven? Want op het eerste zicht open je hier een filehandle en sluit je ze vervolgens. Heeft niets te zien met wat momenteel draaid.

Passenger

Legacy Member
Fraggie zei:
Komt dat van een website waarin het werkt, of heb je het zelf geschreven? Want op het eerste zicht open je hier een filehandle en sluit je ze vervolgens. Heeft niets te zien met wat momenteel draaid.

Ik heb dat zelf geschreven. Maar zoals je ziet ben ik zeker nog steeds geen grote specialist in matlab:p. Is er een manier om zo'n m-file vanuit een andere m-file te kunnen sluiten?

Fraggie

Legacy Member
Passenger zei:
Ik heb dat zelf geschreven. Maar zoals je ziet ben ik zeker nog steeds geen grote specialist in matlab:p. Is er een manier om zo'n m-file vanuit een andere m-file te kunnen sluiten?
Wel ik kan je ook niet verder helpen zonder de volledige code.
Als je nog vanplan ben om ze te posten gebruik dan aub: Pastebin.com - #1 paste tool since 2002!

Fraggie

Legacy Member
Passenger zei:
Dat had ik ook al eens geprobeerd, maar mn gui sluit daarmee niet af precies:(
Ik heb een extra knop bij gemaakt die naar de functie function Nieuw_Callback(hObject, eventdata, handles) verwijst die vervolgens de gui afsluit, alles cleared en ze terug opstart:


Code:
function Nieuw_Callback(hObject, eventdata, handles)
close all;
clear all;
run(mfilename('fullpath'))

Dus eigenlijk zoals ik in men eerste post aanhaalde.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan