Trying to create a simple function Matlab gives me an error message

조회 수: 4 (최근 30일)
AStar
AStar 2019년 10월 2일
댓글: Walter Roberson 2020년 2월 3일
Im trying to create a function called "vecout" which receives an integer number and will output a vector that starts with the vector itself and increments until it reaches the given vector +5
it should work like this
vecout(4)
=4 5 6 7 8 9
This is my code that I have written as a script. when i enter vecout(4) for example in my command window i get an error message that says"function vecout has already been declare within this scope". Matlab doesnt let me use my function.Please help. How can I make this function work?
function B=vecout(a)
B=a:a+5;
end

답변 (3개)

Zhousheng Chen
Zhousheng Chen 2019년 11월 1일
Is there any "clear" or "clc" before the function in the vecout.m file?

James Tursa
James Tursa 2019년 10월 2일
Put your vecout( ) function code in a separate file called vecout.m

Saroj Si
Saroj Si 2020년 2월 3일
Same problem I also faced. I think it is only due to presence of clc,clear or clear all before function.
  댓글 수: 1
Walter Roberson
Walter Roberson 2020년 2월 3일
It is not exactly that, but the presense of any commands before the function statement would make the file into a script file. From R2016b and later, it is legal to define a function inside a script file. However, when you do define a function inside a script file, the name of the function must be different than the name of the script, and if you try to use the same name for the function and the script you will get exactly the noted error about the function already being declared in the scope.
Note that clear all should almost never be put into a function or script file: using "clear all" inside your code is like blowing up the bridge you are standing on while hoping that in the explosion you will just happen to land exactly balanced on one toe.

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

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by