Attempt to execute SCRIPT ... as a function:

35 ビュー (過去 30 日間)
Armin Schindler
Armin Schindler 2020 年 11 月 20 日
移動済み: Cris LaPierre 2024 年 11 月 4 日
I am very new to MatLab and this is probably a really easy fix but functions are giving me a headache.
global fakt1 fakt2 fakt3
fakt1=2; fakt2=3; fakt3=4;
testfunktion1(10)
function erg=testfunktion1(x)
erg=fakt1*x^3+fakt2*x^2+fakt3*x;
end
I first named the file "testfunktion.m" but then got the Error "Local function name must be different from the script name". After changing the function name and trying to run the script I get the Error
">> testfunktion(10)
Attempt to execute SCRIPT testfunktion as a function: C:\Users\....."
Now I am kind of clueless on what to do.
  2 件のコメント
Maha
Maha 2024 年 11 月 4 日
移動済み: Cris LaPierre 2024 年 11 月 4 日
I am facing an error while executing my script
>> my_model_script
Attempt to execute SCRIPT xlabel as a function:
F:\MathWorks_MATLAB_R2020a_v9.8.0.1323502\toolbox\matlab\graph2d\xlabel.m
Error in my_model_script (line 12)
xlabel('Time (s)');
Don't know what happens it was smooth before. I checked over the location as well but no use
Cris LaPierre
Cris LaPierre 2024 年 11 月 4 日
移動済み: Cris LaPierre 2024 年 11 月 4 日
The path looks correct, and that xlabel.m file is a function. Have you by chance named your script 'xlabel'?
What is the result of the following command: which xlabel -all

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

採用された回答

Cris LaPierre
Cris LaPierre 2020 年 11 月 20 日
編集済み: Cris LaPierre 2020 年 11 月 21 日
The issue is that you are treating your script as a function. Functions have inputs, scripts do not.
>> testfunktion(10)
Just call your script without trying to give it an input.
>> testfunktion
As is written, that will create an error about missing variable x. So either turn the entire script into a function, or define x in your script as well.
As far as learning more about MATLAB, I recommend MATLAB Onramp. Also, rather than declare your variables a global, just pass them as inputs to your function. See more here.
  1 件のコメント
Armin Schindler
Armin Schindler 2020 年 11 月 21 日
Thanks for the advice, I got it working now. The declaration of global variables was just part of the task I was given.

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

その他の回答 (1 件)

Ameer Hamza
Ameer Hamza 2020 年 11 月 20 日
What do you mean by '10' on this line
testfunktion(10)
To call a script, you just need to type the script name
testfunktion
Or you can press the big green "Run" button.
  1 件のコメント
Armin Schindler
Armin Schindler 2020 年 11 月 21 日
Thank you :) It got it working

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

カテゴリ

Help Center および File ExchangeEntering Commands についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by