MATLAB Answers

Running a function script

161 ビュー (過去 30 日間)
Niels Uitterdijk
Niels Uitterdijk 2019 年 1 月 8 日
コメント済み: Niels Uitterdijk 2019 年 1 月 8 日
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 件のコメント

サインインしてコメントする。

回答 (3 件)

OCDER
OCDER 2019 年 1 月 8 日
編集済み: OCDER 2019 年 1 月 8 日
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 件のコメント

madhan ravi
madhan ravi 2019 年 1 月 8 日
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 2019 年 1 月 8 日
Oh, in that case, Steven's and TADA's answer is probably what you're looking for.

サインインしてコメントする。


Steven Lord
Steven Lord 2019 年 1 月 8 日
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 件のコメント

サインインしてコメントする。


TADA
TADA 2019 年 1 月 8 日
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 件のコメント

Niels Uitterdijk
Niels Uitterdijk 2019 年 1 月 8 日
Awesome! Thank you a lot!

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by