1
我需要在Matlab S函數中的幾個函數中使用一個對象。 該對象用作庫,需要使用服務器設置連接,在每個循環中從中獲取數據,並在仿真結束時關閉它。對象的使用是這樣的:如何在Matlab S函數中使用全局對象
ClassX ObjectX;
[Handle clientID]=ObjectX.setConnection(...);
while(coonection)
[result]=ObjectX.getPosition(Handle ClientID,...);
[result]=ObjectX.getAngle(Handle ClientID,...);
...
end
[result]=ObjectX.CloseConnection(...);
它不方便實例並關閉每個循環中的通信。所以我想創建對象並在「function setup(block)
」上設置連接,更新「function Update(block)
」上的數據並關閉「function Terminate(block)
」上的連接,但爲此,我需要在功能中共享「ObjectX」和「clientID」。
我希望你能幫助我。
嗨! thaks!我的目標是與一個機器人模擬器(Vrep)交流MAtlab,製造商提供類和入門系統來處理它,因爲我希望我沒有修改它,因爲我不知道它是如何工作的。該庫設計用於.m或函數,但不用於simulink或s函數。所以我希望你能幫我使用它而不用修改。 – DdS
您應該可以使用Singleton類來包裝進行通信的類,而無需修改類本身。在單例構造函數'SingleInstance'中,你可以調用'ObjectX.setConnection'來初始化連接。下一次調用'getInstance'時,您只需獲取現有實例的句柄,而無需重新初始化連接。你應該多讀一些關於MATLAB類系統的知識來熟悉它。 – Kavka