# How can I correctly use if and elseif?

조회 수: 4 (최근 30일)
gblmtc 2018년 3월 22일
댓글: Stephen23 2018년 3월 22일
Hi there! I'm a newbie on the Matlab and I just don't know how to write this function.
I have two inputs : t and toe
I have to calculate
tk = t-toe
if tk > 302400 tf = tk - 604800
if tk < -302400 tf tk + 604800
I created this function :
function [tk] = time(a)
a=t-toe;
if tk>302400; tf = tk-604800;
elseif tk<-302400; tf = tk+604800;
end
end
when I run this function I get this error.
% Undefined function 'time' for input arguments of type 'double'.
what does it mean "input arguments of type double"? what is the double there?
P.S: How can I learn more quickly this program? It seems a bit complicated for me considering I've never learnt programming before. Could I find some exercises to help me learn it?
##### 댓글 수: 3이전 댓글 1개 표시이전 댓글 1개 숨기기
KL 2018년 3월 22일
편집: KL 2018년 3월 22일
Walter Roberson 2018년 3월 22일
Notice by the way that used
a=t-toe;
Also, you have not defined toe.

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

### 채택된 답변

Stalin Samuel 2018년 3월 22일
create a file with below code
function [tf] = time(t,toe)
tk=t-toe;
if tk>302400; tf = tk-604800;
elseif tk<-302400; tf = tk+604800;
end
end
while saving the code you must use "time" as file name.
##### 댓글 수: 2없음 표시없음 숨기기
gblmtc 2018년 3월 22일
Thanks Samuel! I applied your function, it works but it calculates just tk=t-toe. It doesn't either add or subtract 604800. Doesn't continue and do the if . Do you know why?
Stephen23 2018년 3월 22일
편집: Stephen23 2018년 3월 22일
@gblmtc: What sizes are t and toe ?
Why did you accept this answer if it does not do what you want?

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

### 추가 답변 (1개)

Stephen23 2018년 3월 22일
I guess that some of the inputs are non-scalar, in which case you should use indexing:
function tk = time(t,toe)
tk = t-toe;
idx = tk>302400;
tk(idx) = tk(idx)-604800;
idx = tk<-302400;
tk(idx) = tk(idx)+604800;
end
##### 댓글 수: 6이전 댓글 4개 표시이전 댓글 4개 숨기기
Stephen23 2018년 3월 22일
편집: Stephen23 2018년 3월 22일
@gblmtc: I understand that there is a lot to learn, and it can seem quite daunting, but luckily MATLAB has easy-to-read documentation, which should always be the first place you look for information. You also might like to read this, it has some tips to keep in mind when learning MATLAB:
Stephen23 2018년 3월 22일
Yes, you are right! Sometimes it is really really daunting. Sometimes I just say it is not for me and I just can't do it. Thanks for your help!

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

### 카테고리

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