Why cant I create a function in MatLab student version?

When I try to create a function i keep getting this error Error: Function definitions are not permitted in this context.
Here is the code I wrote
function sum = myfirst(v,w)
then I get the mentioned error

 採用された回答

Image Analyst
Image Analyst 2014 年 9 月 6 日
編集済み: Image Analyst 2014 年 9 月 6 日

1 投票

You forgot to attach your m-file. Most likely, you wrote a script, say test.m, and inside there it starts off with a script and then you include the function below it in the same file, like this
clc;
result = myfirst(10,20);
function theSum = myfirst(v,w)
theSum = v+w;
To fix, declare test a function also so that you have two functions in the file, not a script and a function, like
function test()
clc;
myfirst(10,20);
function theSum = myfirst(v,w)
theSum = v+w;
If this does not fix your problem, then attach your m-file(s).

5 件のコメント

Image Analyst
Image Analyst 2014 年 9 月 6 日
Also note I used "theSum" instead of sum(). You never, or almost never, want to use the name of a built-in function, particularly one as important as sum(), as the name of one of your variables.
Tony Montgomery
Tony Montgomery 2014 年 9 月 6 日
Ive tried everything and it still won't work. Its not something silly like you can create a function in the student version?
John D'Errico
John D'Errico 2014 年 9 月 6 日
No, there is no issue with the student version. My guess is you are just not understanding the difference between m-files in general, functions and scripts. Spend some time reading about them.
Tony Montgomery
Tony Montgomery 2014 年 9 月 6 日
I got it, I am very new to this and my homework tutorial is pretty bland. I understand now about the m files and you have to create an m file and so on. Thanks for the help! Much appreciated!
Image Analyst
Image Analyst 2014 年 9 月 6 日
You marked it as accepted, but the comment before last you said "it still won't work" and you didn't attach your m-file like I suggested, so is everything working or not? Again, if you need more help, attach your m-file.

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

その他の回答 (1 件)

per isakson
per isakson 2014 年 9 月 6 日
編集済み: per isakson 2014 年 9 月 7 日

0 投票

Because function sum = myfirst(v,w) must be the first executable line of the m-file. Read Function Basics, Create functions, including anonymous, local, and nested functions

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by