How do I convert a script to a function?
4 次查看(过去 30 天)
显示 更早的评论
I am trying to convert the attached script into a function to produce the same figure and results for a plot of the (for argument's sake) Earth orbiting the Sun. I have attached what I have of the function so far, but I am struggling to understand what I have done wrong and how to proceed. The function has pseudocode explanations of variables etc. Any help would be much appreciated. Regards, AR
采纳的回答
Adam
2017-5-3
There may be other things wrong, but these 2 lines are surely not what you want. You pass in p and v as input arguments, then you just set them to empty here:
p = []; % Celestial body initial positions vector
% Will be N by 2 e.g. p1 = [px,py]
v = []; % Celestial body initial velocities vector
% Also N by 2 e.g. v1 = [vx,vy]
It's not obvious what all the lines of code above this are all about either - they seem somewhat pointless.
You need to use the input arguments that you pass in - e.g. mass, not m as you do further down the code (or you could change your input argument name to 'm', but I much prefer 'mass' as it says what it is, 'm' is meaningless).
The biggest difference between a function and script is the arguments that you pass into it instead of creating within the function. Never over-write the input arguments!
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Identification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!