Error at '(' in first line of code

I am getting several errors on this line of code. The first is a error at '(' between size and 1. The next is at the ')' at the end of the line. Please help me understand what I am missing The input for the moonpos function is (vector of julian days in TDT time scale; output coordinate type). There could be a problem with the input but I am not sure.
function [X,Y,Z]=moonpos(size(1);elpdt)

4 Comments

Adam
Adam on 9 Jul 2018
Edited: Adam on 9 Jul 2018
size(1)
is not valid syntax in a function definition. You should simply have variable names, not indexing into them, and 'size' certainly should not be a variable name.
I've never tried it, but I doubt ; is valid syntax in a function definition either. Arguments are separated by commas.
Is this really an attempt to define the function prototype here or an attempt to translate what the prototype is thought to be?
Evan Mossel
Evan Mossel on 9 Jul 2018
Edited: Walter Roberson on 9 Jul 2018
I tried to search through the library https://www.mathworks.com/matlabcentral/fileexchange/56041-moon-position to find when the moonpos inputs are defined. Thst was the best I could come up with. I am not sure how else to define a time vector.

Sign in to comment.

 Accepted Answer

function [X,Y,Z] = moonpos(julian_days, elpdt)
When you are declaring or calling a function, you must use comma between arguments, not semi-colon.
When you are declaring a function, the list of parameters in () must be pure variable names or the character ~ (by itself), not expressions.
In MATLAB, you do not declare the sizes of the parameters in the function declaration.

More Answers (0)

Categories

Find more on Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!