Attempt to execute SCRIPT <filename> as a function

조회 수: 7 (최근 30일)
Ivy Chan
Ivy Chan 2015년 1월 29일
댓글: Walter Roberson 2020년 8월 14일
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
Image Analyst
Image Analyst 2020년 8월 14일
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 2020년 8월 14일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Image Analyst
Image Analyst 2015년 1월 29일
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
Image Analyst
Image Analyst 2015년 2월 3일
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 2015년 2월 3일
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()

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Entering Commands에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by