How can I correctly use if and elseif?
Show older comments
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?
Thank you for your help!
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 Comments
Von Duesenberg
on 22 Mar 2018
The Matlab documentation would be a good place to start: https://fr.mathworks.com/help/matlab/ref/if.html
Walter Roberson
on 22 Mar 2018
Notice by the way that used
a=t-toe;
instead of tk = t-toe
Also, you have not defined toe.
Accepted Answer
More Answers (1)
Stephen23
on 22 Mar 2018
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 Comments
gblmtc
on 22 Mar 2018
gblmtc
on 22 Mar 2018
@gblmtc: indexing is a very basic concept that is used a lot in MATLAB. You can learn about indexing by doing the introductory tutorials, which are highly recommended for all beginners:
and also by reading this article:
gblmtc
on 22 Mar 2018
@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:
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!