lab5 task1 done, task2 nearly finished

This commit is contained in:
ti_mo
2026-06-22 22:03:28 +02:00
parent 48793b1532
commit eb4d72c7c2
16 changed files with 2727 additions and 0 deletions
+45
View File
@@ -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;