۱۳۹۵/۰۹/۲۹, ۰۵:۲۳ ب.ظ
با سلام خدمت دوستان عزیز
کد متلب زیر را نوشته ام
ولی متاسفانه با خطای
Index exceeds matrix dimensions
روبرو میشم..امکانش هست راهنماییم کنید؟
با تشکر
کد متلب زیر را نوشته ام
کد:
%Senior Project
close all
clear all
clc
%First state initial orbital elements in order to find initial r and v in
%geocentric equatorial coordinates
%Set constants
Re = 6378; %Radius of Earth (km)
mu = 398600; %Gravitational Parameter of Earth (km^3/s^2)
%Angular Momentum
h = 133929.0857; %km^2/s
%Inclination
inc= 45*pi/180; %radians
%Right Ascension of Ascending Node
RA = 0; %radians
%Eccentricity
e = 0; %Argument of Perigee
omega = 0*pi/180; %radians
%True Anomaly
theta = 30*pi/180; %radians
%Now find r in km and v in km/s
rperi = h^2/mu/(1+e*cos(theta))*[cos(theta);sin(theta);0]; % (km) vperi = mu/h.*[-sin(theta); e + cos(theta); 0]; % (km/s)
vperi = mu/h.*[-sin(theta);e+cos(theta);0]; % (km/s)
Qperi=[cos(RA)*cos(inc)*sin(omega)+cos(RA)*cos(omega) -sin(RA)*cos(inc)*cos(omega)-cos(RA)*sin(omega) sin(RA)*sin(inc);
cos(RA)*cos(inc)*sin(omega)+sin(RA)*cos(omega) cos(RA)*cos(inc)*cos(omega)-sin(RA)*sin(omega) -cos(RA)*sin(inc);
sin(inc)*sin(omega) sin(inc)*cos(omega) cos(inc)];
r=Qperi*rperi %in km
v=Qperi*vperi %in km/s
r = r %km
v = v %km/s
%Find Range
range = norm(r) - Re %in km
%Find Period of orbit
T = 2*pi/sqrt(mu)*(norm(r))^(1.5) %in seconds
%Now these are the initial conditions and time span
y = [r v]
t = [0 172800] %in seconds
% t0 = [0 T0]; %in seconds
rx=y(1) %km ry=y(2); %km rz=y(3); %km vx=y(4); %km/s vy=y(5); %km/s vz=y(6);
ry=y(2)
rz=y(3)
vx=y(4)
vy=y(5)
vz=y(6)
%Normalize the position vector for futre use
R=norm([rx, ry, rz])
%Find acceleration from the position vector
ax=-mu*rx/R^3 %km/s^2
ay=-mu*ry/R^3 %km/s^2
az=-mu*rz/R^3 %km/s^2
%Set up new conditions after t seconds
accel = [vx; vy; vz; ax; ay; az]
for i = 1:length(t)
plot3(y(1:i,1), y(1:i,2), y(1:i,3))
drawnow
end
ولی متاسفانه با خطای
Index exceeds matrix dimensions
روبرو میشم..امکانش هست راهنماییم کنید؟
با تشکر