Attempt to execute SCRIPT <filename> as a function

Hi all, I am a new user of Matlab. Im learning how to debug a .m file called "test.m". I was asked to copy one backup, I made the name "test_debug.m". When I run the test_debug.m file, there is a error msg,
Attempt to execute SCRIPT test as a function: D:\ProgramFiles\Reference_src\test.m
test.m is not in path. But it could still successful run. It has called several functions inside the script. What should I add into/make changes for test_debug.m?
Thank you!

3 Comments

i am getting this error?
Attempt to execute SCRIPT newplot as a function:
D:\MATLAB\R2017a\toolbox\matlab\graphics\newplot.m
Error in contour (line 66)
cax = newplot(cax);
Error in PSO_simulation (line 19)
contour(x_new, y_new, z , 20);
>>
Chances are you named your m-file after a built-in function. Attach your m-file with the paper clip icon in a new question.
You would get that error message if you had accidentally corrupted newplot.m such as accidentally typing in a few characters before the 'function' line.

Sign in to comment.

 Accepted Answer

Does the first line of test_debug say either
function test()
or
function test_debug()
or does it not have a function line at all?
It should say function test_debug - if it does not but has included other functions declared within the same m-file, then you will get that message since you can't have a script and a function in the same m-file. It has to be just a single script (meaning no function line) or it has to be one or more functions that are declared in it. ?

2 Comments

Ivy's "Answer" moved here because it's not an Answer to her original question but a reply to me:
The first line of test_debug does not say neither these two. Instead, it first load a .dat file. Then it uses "size" to save the data into variables.
close all;
clc;
clear all;
tic;
load data_offline;
[y x c n]=size(raw_data);
It has to be more functions that are declared in it. So is test_debug a script? It has some functions but I can still run it and make figure.
Thanks!
Whatever the name of your m-file is, that name has to be preceded by the word "function" as the first line in the file (or at least the first non-comment line). So if your m-file is called test.m you need to have this as line #1:
function test()
If your m-file is called test_debug.m you need to have this as line #1:
function test_debug()

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!