ERROR'Not enough input arguments.'

This is my code:
function y=gx(x)
y=(5.*x-6)./((x-1.3).^2+0.03)+(9.*x)./(x.^3+0.04)-(x-0.5)./((x-0.98).^2+0.07)
end
the error is:
Not enough input arguments.
Error in gx (line 4)
y=(5.*x-6)./((x-1.3).^2+0.03)+(9.*x)./(x.^3+0.04)-(x-0.5)./((x-0.98).^2+0.07)
Can anyone help me?

답변 (1개)

Star Strider
Star Strider 2019년 12월 25일

0 개 추천

Apparently, you are calling ‘gx’ without an input argument, perhaps by using the green Run arrow in the editor. Functions that are written with input arguments must always be supplied with them in calls to them.
When I run it from a script:
x = 42;
y = gx(x)
it runs without error and produces:
y =
0.103589181681349
Call it from a script (or the Command Window) with an argumetnt, and it should do what you want.

댓글 수: 4

cosine Zheng
cosine Zheng 2019년 12월 26일
편집: cosine Zheng 2019년 12월 26일
If I just want to get the plot of gx. How should I do from a script?
This is how I would do it:
xv = linspace(-10, 10, 250);
figure
plot(xv, gx(xv))
grid
Define ‘xv’ to be the range you want.
Also, put a semicolon (;) at the end of the ‘y’ assignment in ‘gx’ to keep it from printing the results of its calculations to the Command Window.
cosine Zheng
cosine Zheng 2019년 12월 26일
Oh,thanks for your answering.
Star Strider
Star Strider 2019년 12월 26일
My pleasure.
If my Answer helped you solve your problem, please Accept it!

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

카테고리

도움말 센터File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

질문:

2019년 12월 25일

댓글:

2019년 12월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by