How to call a function
조회 수: 1 (최근 30일)
이전 댓글 표시
I have an assignment that asks for one function that uses user input to compute outputs to different questions. my code follows,
clear,clc,close all
function [C1, C2, C3, C4, C5, s, m] = Spring(f, i)
% start of homework #3 function
%access question #1 subfunction
m = convert(f);
%access question #2 subfunction
s = sum(i);
%code for question #3
%% Question 3
d = 0:0.25:3;
h = 1;
C1 = 0.5.*d.^3-(1.5*h.*d.^2)+(1+h.^2).*d;
plot(d,C1)
hold on
h = 1.5;
C2 = 0.5.*d.^3-(1.5*h.*d.^2)+(1+h.^2).*d;
plot(d,C2)
hold on
h = 2;
C3 = 0.5.*d.^3-(1.5*h.*d.^2)+(1+h.^2).*d;
plot(d,C3)
hold on
h = 2.5;
C4 = 0.5.*d.^3-(1.5*h.*d.^2)+(1+h.^2).*d;
plot(d,C4)
hold on
h = 3;
C5 = 0.5.*d.^3-(1.5*h.*d.^2)+(1+h.^2).*d;
plot(d,C5)
xlabel('X');
ylabel('Y');
end
%% Question 1 subfunction
function m = convert(f)
m = f/3.28084;
end
%% Question 2 subfunction
function s = sum(i)
while i<11
s = sum(factorial(i));
end
end
I have tried both running the function by clicking the run button and calling the function by "Spring" in the command window however i get this Error Message: Cannot find an exact (case-sensitive) match for
'Spring'
Please excuse me as my knowledge is limited in this subject
댓글 수: 0
채택된 답변
Stephen23
2020년 3월 25일
편집: Stephen23
2020년 3월 25일
Make these changes:
clear,clc,close all % <-------- DELETE THIS AWFUL ANTIPATTERN LINE OF EVIL
function [C1, C2, C3, C4, C5, s, m] = Spring(f, i) % <--- THIS MUST BE THE FIRST LINE ON THE FILE
Beginners overuse CLEAR,CLC,CLOSE in code. Don't use them if they are not required (hint: almost never).
Beginners overuse that attractive green RUN button. It is rarely worth the trouble using. Just call the function from the command window (or whatever script, etc.). How to call functions is explained in the introductory tutorials:
You need to make sure that your code is saved in a file named the same as the first function in the file, i.e.:
Spring.m
For MATLAB to see it, the file needs to be saved on the MATLAB Search Path or in the current directory.
Then call your function from the command line like this:
f = whatever_f_is_supposed_to_be;
i = whatever_i_is_supposed_to_be;
[out1,out2,out3,out4,out5,outS,outM] = Spring(f, i)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!