Writing Functions that take inputs?

조회 수: 47 (최근 30일)
Tyler Bodnarik
Tyler Bodnarik 2020년 9월 30일
편집: Stephen23 2020년 9월 30일
Need help getting this function to execute.
So far I have:
r = input('What is the radius of the circle?')
x = input('What is the X - coordinate for the center of the circle?')
y = input('What is the Y - coordinate for the center of the circle?')
c = 'k';
function circleplot(x,y,r,c)
hold on
th = 0:pi/50:2*pi;
x_circle = r * cos(th) + x;
y_circle = r * sin(th) + y;
plot(x_circle, y_circle);
fill(x_circle, y_circle, c)
plot(x, y, 'kp', 'MarkerSize',15, 'MarkerFaceColor','k')
axis equal
end
When I run the code nothing happens expect the prompts asking me for data. Any advice?

답변 (2개)

Stephen23
Stephen23 2020년 9월 30일
편집: Stephen23 2020년 9월 30일
"When I run the code nothing happens expect the prompts asking me for data."
You defined a function in a script (which is permitted syntax since R2016b) but you do not actually call the function anywhere. If you do not call a function it does not run: https://www.mathworks.com/help/matlab/learn_matlab/calling-functions.html
Here are two simple solutions to fix your code:
One: actually call the function in your script:
r = input('What is the radius of the circle?')
x = input('What is the X - coordinate for the center of the circle?')
y = input('What is the Y - coordinate for the center of the circle?')
c = 'k';
circleplot(x,y,r,c) % <- call it here !
function circleplot(x,y,r,c)
...
end
Two: get rid of the function, turn it into a simple script:
r = input('What is the radius of the circle?')
x = input('What is the X - coordinate for the center of the circle?')
y = input('What is the Y - coordinate for the center of the circle?')
c = 'k';
hold on
th = 0:pi/50:2*pi;
x_circle = r * cos(th) + x;
y_circle = r * sin(th) + y;
plot(x_circle, y_circle);
fill(x_circle, y_circle, c)
plot(x, y, 'kp', 'MarkerSize',15, 'MarkerFaceColor','k')
axis equal

Steven Lord
Steven Lord 2020년 9월 30일
If you aren't sure where to start because you're not familiar with how to write MATLAB code, I suggest you start with the free MATLAB Onramp tutorial to quickly learn the essentials of MATLAB.

카테고리

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