How do I recall a MATLAB function that has already been saved on my computer?
12 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Below are my two scripts of code, one is a function called keplersolve and the other is a script called Test1. When I am trying to run Test1 it won't recall my function keplersolve, I have already ran keplersolve before running Test1, so MATLAB has it in its workspace. If anyone can help me, it'll be much appriciated.
%keplersolve clc clear close all
% E = keplersolve(M,e) function E = keplersolve(M,e) MAXITER = 100; % in case the loop does not converge TOL = 1e-11; % tolerance for convergence En = M; % first guess fn = En - e*sin(En) - M; % f(E) that we want to be zero iter = 1; % count the iterations while ( abs(fn) > TOL ) En = En - fn/(1-e*cos(En)); fn = En - e*sin(En) - M; iter = iter+1; if (iter>=MAXITER) error('Did not converge'); exit end end E = En end
%Test1 clc clear close all
t_T = input('time since periapsis: ') a = input('semi-major axis: ') e = input('orbits eccentricity: ')
T_T = (t_T)*60; % This is a conversion to minutes into seconds
mu = 3.986*10^5;
n = sqrt(mu/(a^3)); % Mean anamoly M = n*(T_T); % Mean motion
keplersolve_(M,e)
3 Commenti
Image Analyst
il 15 Ott 2017
No it didn't - your code formatting is still messed up. Maybe you were talking about my answer below though.
Risposte (1)
Image Analyst
il 15 Ott 2017
Remove these lines from the beginning of keplersolve:
clc
clear
close all
It should start with the "function" line. Otherwise that function is privately nested in a script and won't be able to be seen from a separate m-file.
0 Commenti
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!