How do I recall a MATLAB function that has already been saved on my computer?
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Image Analyst
el 15 de Oct. de 2017
No it didn't - your code formatting is still messed up. Maybe you were talking about my answer below though.
Respuestas (1)
Image Analyst
el 15 de Oct. de 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 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!