Attempt to execute SCRIPT <filename> as a function

7 vues (au cours des 30 derniers jours)
Ivy Chan
Ivy Chan le 29 Jan 2015
Commenté : Walter Roberson le 14 Août 2020
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 commentaires
Image Analyst
Image Analyst le 14 Août 2020
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.
Walter Roberson
Walter Roberson le 14 Août 2020
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.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 29 Jan 2015
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 commentaires
Image Analyst
Image Analyst le 3 Fév 2015
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!
Image Analyst
Image Analyst le 3 Fév 2015
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()

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Entering Commands dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by