[ STK ](十)與 Matlab 互聯通訊,獲取衛星間可見性資料【演算法優化】
前言
- 在之前的文章中,我們建立了
STK
與Matlab
互聯通訊。 - 通過
Matlab
編碼,獲取分析得到衛星間可見性矩陣 - 效果雖然實現了,但是程式碼的效率極低,影響實驗。
- 本文中,對之前的程式碼進行了重寫,提高了程式碼的執行效率。
實現思路
- 之前的實現思路:每秒鐘獲取一次可見性資料,分析匯出可見性矩陣
- 本文的實現思路:一次性請求到所有的可見性資料,解析,每秒鐘匯出一個可見性矩陣
實現程式碼
- 程式碼目錄
analysis.m :解析可見性資料
close.m :關閉連線
getVisibility.m :獲取所有可見性資料
initConn.m :初始化連線
demo.m
% 註釋 Ctrl + R/T
[conid,objNames] = initConn();
objNames(1) = '';
objNames(1) = '';
objNames(1) = '';
startTime = 0;
endTime = 600;
count = 24;
result = getVisibility(objNames,startTime,endTime,count);
% load('result.mat')
analysis(result,startTime,endTime,count);
close(conid);
initConn.m
% 初始化連線
function [conid,objNames] = initConn()
stkInit;
remMachine = stkDefaultHost;
conid = stkOpen(remMachine);
objNames = stkObjNames;
end
getVisibility.m
% 獲取可見性
function [result] = getVisibility(objNames,startTime,endTime,count)
style = 'Access';
dt = 1;
result = {};
for i = 1:count
disp(strcat(num2str(i)))
for j = 1:count
if i ~= j
[secData, ~] =stkAccReport(char(objNames(int32(i))),char(objNames(int32(j))), style,startTime,endTime,dt);
result{i,j} = secData;
else
% 自己與自己的距離為 0
result{i,j} = 1;
end
end
end
end
analysis.m
% 解析可見性資料
function [] = analysis(result,startTime,endTime,count)
for k = startTime:endTime
disp(strcat(num2str(k)))
visibility = zeros(count);
for i = 1:count
for j = 1:count
if iscell(result{i,j})
% 其他衛星
[~,tmp2] = size(result{i,j}{1,1});
if tmp2 == 4
% 存在可見性
[access,startTime,stopTime,~] = result{i,j}{1,1}.data;
[accessLength1,~] = size(access);
if accessLength1 == 1
% 全程可見
visibility(i,j) = 1;
else
% 檢查是否在可見時間段內
for z = 1:accessLength1
if k >= startTime(z) && k <=stopTime(z)
% 存在可見性
visibility(i,j) = 1;
break;
end
end
end
else
% 不存在可見性
visibility(i,j) = 0;
end
else
% 對自身可見,存在可見性
visibility(i,j) = 1;
end
end
end
csvwrite(strcat('./data/visibility',num2str(k),'.csv'),visibility)
end
end
close.m
% 關閉連線
function []= close(conid)
stkClose(conid);
stkClose;
end
相關文章
- 螺旋衛星通訊天線設計與有限元分析matlab模擬Matlab
- 記錄一次獲取czml衛星軌道資料
- 遇見山河 預見空間大資料移動互聯時代!大資料
- iOS獲取通訊錄聯絡人資訊iOS
- 華為Watch 4將支援衛星通訊:與P60同期發
- 歐科微“翔雲”衛星星座-低軌衛星通訊星座
- 評論模組優化 - 資料表優化、新增快取及用 Feign 與使用者服務通訊優化快取
- 歐洲通訊衛星公司:超高清是關鍵的差異化因素
- 華為Mate 50率先支援衛星通訊,抗摔能力還增加了十倍
- Synchronized同步性與可見性synchronized
- 無線效能優化:頁面可見時間與非同步載入優化非同步
- vue專案中,index.html資料與元件之間通訊,傳值,以獲取MAC地址為例VueIndexHTML元件Mac
- 如獲取獲取關聯資料的文件跟模型的關聯資料集呢模型
- Vue元件之間的資料傳遞(通訊、互動)詳解Vue元件
- webView與js互動——獲取通訊錄手機號並顯示運營商WebViewJS
- 通過可見性逆轉物聯網安全性的7款工具
- 關於HDFS的資料可見性
- 樂訊通雲通訊:物聯卡,物與物之間溝通的橋樑
- 衛星通訊,給手機市場帶來了什麼?
- Spark讀取MongoDB資料的方法與優化SparkMongoDB優化
- 【雜談】快取記憶體一致性與可見性快取記憶體
- Python3獲取XX管理局可見資料學習案例Python
- Phaser遊戲框架與HTML Dom元素之間的通訊互動遊戲框架HTML
- 海格--衛星通訊網路設計師職位說明書
- Hawkeye:TopN慢query的獲取與優化優化
- 解決惡意刷屏 華為安全檢測保障俄羅斯衛星通訊社App的安全性APP
- 常見的Javascript獲取時間戳JavaScript時間戳
- 樂訊通雲通訊:物聯卡與物聯網技術讓窗簾更加的智慧化
- 頁面間通訊與資料共享解決方案簡析
- 淺談併發的資料競爭(可見性)與競態條件(原子性)
- 物聯網常見通訊協議梳理協議
- 中國通訊學會:2019全球衛星通訊產業發展前沿報告(附下載)產業
- 賽迪:2020上半年全球在軌衛星數量超2600顆 通訊衛星佔比近半
- GIS資料獲取:土地利用與土壤屬性、DEM、水體水系資料
- ChatGPT王炸更新!能聯網獲取新知識,可與5000+個應用互動,網友:太瘋狂了ChatGPT
- VUE 元件間通訊---單向資料流Vue元件
- 近距離通訊,引領萬物互聯新時代
- 樂訊通雲通訊:物聯網路卡有什麼優點