lab5 task1 done, task2 nearly finished
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
satSim = create_satellite_sim(satConfig, groundStation);
|
||||
% viewer = satelliteScenarioViewer(satSim.sc);
|
||||
|
||||
sampleTimes = satConfig.startTime:seconds(satConfig.sampleTime):satConfig.stopTime;
|
||||
distancesToSat = zeros(size(sampleTimes));
|
||||
elevationAnglesToSat = zeros(size(sampleTimes));
|
||||
|
||||
progressStartText = "Starting ...";
|
||||
f = waitbar(0, progressStartText, "Name", "Task 1");
|
||||
|
||||
progressTotal = numel(sampleTimes);
|
||||
progressQueue = parallel.pool.DataQueue;
|
||||
|
||||
parfor_waitbar(f, progressTotal, progressStartText, true);
|
||||
progressListener = afterEach(progressQueue, @(info) parfor_waitbar(f, progressTotal, info, false));
|
||||
|
||||
parfor idx = 1:numel(sampleTimes)
|
||||
res = perform_access_analysis(satSim, sampleTimes(idx));
|
||||
distancesToSat(idx) = res.distanceToSatellite;
|
||||
elevationAnglesToSat(idx) = res.elevationAngleToSatellite;
|
||||
send(progressQueue, sprintf("Index %d", idx));
|
||||
end
|
||||
|
||||
delete(progressListener);
|
||||
if ishandle(f)
|
||||
close(f);
|
||||
end
|
||||
|
||||
figure;
|
||||
plot(sampleTimes, distancesToSat);
|
||||
grid on;
|
||||
xlabel("Time [s]");
|
||||
ylabel("Distance to Satellite [m]");
|
||||
title("Distance over time plot of satellite pass");
|
||||
|
||||
figure;
|
||||
plot(sampleTimes, elevationAnglesToSat);
|
||||
grid on;
|
||||
xlabel("Time [s]");
|
||||
ylabel("Elevation angle to satellite [degree]");
|
||||
title("Elevation angle over time plot of satellite pass");
|
||||
|
||||
accessAnalysisResults.times = sampleTimes;
|
||||
accessAnalysisResults.distances = distancesToSat;
|
||||
accessAnalysisResults.elevationAngles = elevationAnglesToSat;
|
||||
Reference in New Issue
Block a user