How do I stop a program from executing in MATLAB?

Sådan Afslutter du MATLAB Korrekt og Sikkert

11/03/2014

Rating: 4.36 (927 votes)

At arbejde i MATLAB involverer ofte komplekse beregninger, databehandling og visualisering. Efter en lang session med kodning og analyse er det sidste, man ønsker, at miste sit arbejde på grund af en forkert afslutningsprocedure. At vide, hvordan man korrekt afslutter MATLAB, er lige så vigtigt som at vide, hvordan man skriver kode. Det sikrer ikke kun, at dit arbejde bliver gemt, men giver dig også mulighed for at automatisere oprydningsprocesser, så du kan starte din næste session på en ren og organiseret måde. Denne artikel vil guide dig gennem de forskellige metoder til at afslutte MATLAB, fra den enkle grafiske brugerflade til de mere kraftfulde og fleksible kommandolinjeværktøjer.

How does MATLAB work?
Indholdsfortegnelse

Den Nemme Vej: Afslutning via den Grafiske Brugerflade

For de fleste brugere, især dem der er nye i MATLAB-miljøet, er den mest intuitive måde at lukke programmet på via den grafiske brugerflade. Denne metode er ligetil og kræver ingen kendskab til specifikke kommandoer. Der er to primære måder at gøre dette på:

  • Brug af lukkeknappen: Ligesom med de fleste andre programmer på din computer, kan du blot klikke på lukkeknappen (typisk et 'X' i øverste højre hjørne på Windows eller en rød cirkel i øverste venstre hjørne på macOS). Dette er den hurtigste og mest almindelige metode.
  • Brug af 'File'-menuen: Du kan også navigere til menuen 'File' (Filer) i toppen af MATLAB-skrivebordet og vælge 'Exit MATLAB' (Afslut MATLAB). Dette udfører præcis den samme handling som at klikke på lukkeknappen.

Selvom disse metoder er enkle, er det vigtigt at huske, at de ikke automatisk gemmer dit nuværende workspace. Hvis du har ugemte variable eller data, vil du normalt blive spurgt, om du vil gemme dem, før programmet lukker. Det er dog altid en god praksis at gemme dit arbejde manuelt med jævne mellemrum.

For den Avancerede Bruger: `quit`-kommandoen

For dem, der foretrækker at arbejde i kommandovinduet eller har brug for at indlejre afslutningslogik i deres scripts, er `quit`-kommandoen det primære værktøj. At skrive `quit` i kommandovinduet og trykke Enter vil starte afslutningsprocessen for MATLAB.

Det unikke ved `quit`-kommandoen er dens interaktion med en speciel fil ved navn `finish.m`. Hvis denne fil eksisterer på MATLABs søgesti, vil MATLAB udføre koden i denne fil, *før* programmet lukker helt ned. Dette åbner op for en verden af muligheder for automatisering af afslutningsrutiner. Du kan for eksempel programmere `finish.m` til automatisk at:

  • Gemme hele dit workspace i en MAT-fil.
  • Gemme specifikke variable.
  • Lukke alle åbne figurer og grafer.
  • Rydde op i midlertidige filer.
  • Vise en bekræftelsesdialog, der spørger, om du virkelig vil afslutte.

En vigtig sikkerhedsforanstaltning er, at hvis der opstår en fejl under kørslen af `finish.m`, vil `quit`-kommandoen blive annulleret. Dette forhindrer dig i at miste dit workspace på grund af en fejl i dit afslutningsscript og giver dig mulighed for at rette fejlen.

Tilpas Din Afslutning med `finish.m`

Filen `finish.m` er din personlige afskedssalut til MATLAB. Ved at oprette denne fil kan du skræddersy præcis, hvad der skal ske, hver gang du afslutter programmet ved hjælp af `quit`-kommandoen. MATLAB leveres med to eksempelfiler, som du kan bruge som udgangspunkt:

  • `finishsav.m`: En simpel, men yderst nyttig fil, der automatisk gemmer hele dit workspace i en fil ved navn `matlab.mat`, når du afslutter. For at bruge den skal du blot omdøbe den til `finish.m`.
  • `finishdlg.m`: Denne fil viser en dialogboks, der spørger dig, om du er sikker på, at du vil afslutte. Dette er en god måde at forhindre utilsigtede lukninger. Dialogen bruger kommandoen `quit cancel` til at afbryde afslutningen, hvis du vælger 'Nej'.

Her er et kig på den simple, men effektive kode fra `finishdlg.m`:

button = questdlg('Er du klar til at afslutte?', ... 'Afslutningsdialog','Ja','Nej','Nej'); switch button case 'Ja', disp('Afslutter MATLAB'); % Gem variable til matlab.mat save case 'Nej', quit cancel; end

Denne kode opretter en dialogboks med 'Ja' og 'Nej' knapper. Hvis du klikker 'Ja', gemmes dit workspace, og MATLAB lukker. Hvis du klikker 'Nej', udføres `quit cancel`, og afslutningsprocessen stoppes, så du kan fortsætte dit arbejde.

Styr Din Afslutning: Varianter af `quit`

Der findes forskellige varianter af `quit`-kommandoen, som giver dig finmasket kontrol over afslutningsprocessen. Det er vigtigt at kende forskellen mellem dem for at kunne håndtere forskellige situationer.

Sammenligningstabel over `quit`-kommandoer

KommandoBeskrivelseAnbefalet Brugsscenarie
quitStandardkommandoen. Den forsøger at køre `finish.m`, hvis den findes, før den afslutter.Til daglig brug, når du vil have dine automatiserede afslutningsscripts til at køre.
quit cancelAnnullerer en igangværende afslutningsproces. Virker kun, når den kaldes inde fra `finish.m`.Bruges i `finish.m` til at skabe betinget logik, f.eks. i en bekræftelsesdialog.
`quit force`Tvinger en øjeblikkelig afslutning af MATLAB. Den ignorerer og kører ikke `finish.m`.Når `finish.m` indeholder en fejl, der forhindrer MATLAB i at lukke normalt, eller i nødsituationer, hvor programmet ikke reagerer.

Ofte Stillede Spørgsmål (OSS)

Hvad er den hurtigste måde at lukke MATLAB på?

For de fleste brugere er den hurtigste måde at klikke på lukkeknappen i vinduets ramme. Hvis du arbejder i kommandovinduet, er det hurtigst at skrive `quit` og trykke Enter.

Mit MATLAB vil ikke lukke. Hvad kan jeg gøre?

Hvis MATLAB ikke reagerer på et normalt `quit` eller klik på lukkeknappen, kan det skyldes en fejl i `finish.m`-scriptet eller en proces, der kører i baggrunden. I dette tilfælde kan du bruge kommandoen `quit force`. Denne kommando tvinger en afslutning uden at køre `finish.m`.

Hvordan sikrer jeg, at mit arbejde altid bliver gemt, når jeg lukker?

Den mest pålidelige metode er at oprette en `finish.m`-fil, der indeholder kommandoen `save`. For eksempel vil kommandoen `save('mit_arbejde.mat')` gemme hele dit workspace i filen `mit_arbejde.mat`, hver gang du afslutter med `quit`.

Hvad skal jeg være opmærksom på, hvis jeg bruger grafik i min `finish.m`-fil?

Hvis din `finish.m`-fil opretter figurer eller dialogbokse, skal du sørge for at bruge funktioner som `uiwait`, `waitfor` eller `drawnow`. Disse funktioner pauser eksekveringen og sikrer, at dine grafiske elementer rent faktisk bliver vist og er synlige for brugeren, før MATLAB fortsætter med at lukke.

Hvis du vil læse andre artikler, der ligner Sådan Afslutter du MATLAB Korrekt og Sikkert, kan du besøge kategorien Sundhed.

Go up