MATLAB Answers

Running a function script

117 views (last 30 days)
Niels Uitterdijk
Niels Uitterdijk on 8 Jan 2019
Hi there,
I am writing a function in a seperate script. While debugging I keep hitting F5 to test it, which obviously gives an error as a function cannot run by itself. Now I know the easy option is to stop being stupid and run the main file but I was wondering whether there's some way to get around it and call the main file when I press F5 while I'm typing in the function file.

  0 Comments

Sign in to comment.

Answers (3)

OCDER
OCDER on 8 Jan 2019
Edited: OCDER on 8 Jan 2019
To debug a function that is part of a larger set of codes, perhaps you should use debugging features such as code breaks and dbstop if error. This is an example workthrough for debugging complex codes:
>> runMain % your main file
Error: Something went wrong in functionA line 145 etc etc
>> dbstop if error
>> runMain
If your code runs into an error, your editor will open to the error line to help you debug. You'll need to traverse the Function Call Stack to find the function that really needs the fix. For instance, if functionA calls functionB with incorrect inputs, and functionB throws the error message, the dbstop will stop in functionB when you actually need to fix functionA. Go to Function Call Stack > functionA.m to debug functionA.
With dbstop, the local variables are given to you so you can figure out what's the issue.

  2 Comments

madhan ravi
madhan ravi on 8 Jan 2019
Niels Uitterdijk's answer moved here for consistency:
Thanks for your reply.
I am doing perfectly fine with debugging. Problem is that once I solved a particular bug, my editor is still at the line of the debug. When I then press F5 it runs the function directly, which is not possible.
Ideally when I press F5 on the function it'd run the main file.
It's just conveniency really but I couldn't stop wondering whether this was possible.
OCDER
OCDER on 8 Jan 2019
Oh, in that case, Steven's and TADA's answer is probably what you're looking for.

Sign in to comment.


Steven Lord
Steven Lord on 8 Jan 2019
See this documentation page for instructions on how to customize what gets run when you press the green triangle Run button. I believe this is also what gets used when you press F5.

  0 Comments

Sign in to comment.


TADA
TADA on 8 Jan 2019
In Fact You Can Do It.
Open The Popup Menu Under Your Run Button At The Menu Strip.
You Can Type Whatever Code You Want To Run Right There, So It Could Be main, Or That Function You're Debugging With Whatever Input You WantIMG_20190108_171216.jpg

  1 Comment

Niels Uitterdijk
Niels Uitterdijk on 8 Jan 2019
Awesome! Thank you a lot!

Sign in to comment.

Sign in to answer this question.


Translated by