《科學(xué)計算語言Julia及MWORKS實踐》全套教學(xué)課件_第1頁
《科學(xué)計算語言Julia及MWORKS實踐》全套教學(xué)課件_第2頁
《科學(xué)計算語言Julia及MWORKS實踐》全套教學(xué)課件_第3頁
《科學(xué)計算語言Julia及MWORKS實踐》全套教學(xué)課件_第4頁
《科學(xué)計算語言Julia及MWORKS實踐》全套教學(xué)課件_第5頁
已閱讀5頁,還剩844頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一、Julia語言及MWORKS簡介1.1科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景1.2MWORKS平臺簡介1.3MWORKS.Syslab功能簡介1.4MWORKS.Sysplorer功能簡介1.5Julia語言簡介全套可編輯PPT課件

全套可編輯PPT課件

1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)示例——飛機航空產(chǎn)品系統(tǒng)規(guī)模與復(fù)雜性變化趨勢早期的飛機可將其歸類為“ComplicatedSystem”,即可以進(jìn)行分解的復(fù)雜系統(tǒng);現(xiàn)代的飛機越來越復(fù)雜,飛機系統(tǒng)及系統(tǒng)內(nèi)部的深度交聯(lián),航空產(chǎn)品從一個“ComplicatedSystem”逐漸向“ComplexSystem”轉(zhuǎn)變,即由可分解的復(fù)雜系統(tǒng)向不可分解的復(fù)雜系統(tǒng)轉(zhuǎn)變。1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景為實現(xiàn)長期載人可靠飛行并開展有人參與的多領(lǐng)域空間科學(xué)實驗與技術(shù)試驗,中國空間站全系統(tǒng)以“1=1+1+1”

的方式構(gòu)建,即整站功能被系統(tǒng)分解至3個艙段。兩個實驗艙分別位于天和核心艙左右兩側(cè),共同形成對稱的“T”字構(gòu)型。天和核心艙:負(fù)責(zé)空間站平臺的統(tǒng)一管理和控制,并作為目標(biāo)飛行器支持來訪飛行器交會對接、轉(zhuǎn)位與停泊。問天實驗艙:可以對天和核心艙平臺功能進(jìn)行系統(tǒng)級備份,能夠在應(yīng)急情況下“整體接管”空間站。夢天實驗艙:具備平臺重要功能和關(guān)鍵設(shè)備的備份能力,可以為航天員在密封艙內(nèi)工作、開展艙內(nèi)及艙外空間實(試)驗提供保障條件?,F(xiàn)代復(fù)雜工程系統(tǒng)示例——空間站1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)示例——空間站空間站系統(tǒng)復(fù)雜度高,涉及到能源、環(huán)境、控制、信息、推進(jìn)等多學(xué)科、多系統(tǒng)。它的復(fù)雜還在于,一個專業(yè)設(shè)計如果發(fā)生了調(diào)整變化,會帶來一系列的對周邊系統(tǒng)的影響。五院空間站系統(tǒng)總指揮王翔舉了一個簡單的例子:“比如說空間站最終在天上組裝建造完成,有一個很重要的動作就是要轉(zhuǎn)位。整個空間站幾個艙的動力學(xué)模型分別出自不同的單位,我們有負(fù)責(zé)結(jié)構(gòu)設(shè)計的單位,有負(fù)責(zé)大帆板研制的單位。那么轉(zhuǎn)位又要用轉(zhuǎn)位臂進(jìn)行平面轉(zhuǎn)位的操作。在轉(zhuǎn)位的過程中姿態(tài)變了,帆板受太陽的照射就變了,可能發(fā)電的性能和最后的供電的輸出就全變了。”從航天器的整理功能和性能出發(fā),需要把握各分系統(tǒng)之間的相互聯(lián)系,各專業(yè)之間的耦合關(guān)系越來越緊密。1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測10AU火星44次土星5次118次月球金星41次地球成功66次成功率57%深空探測:240余次。月球是太陽系探測的試驗場,是邁向更遠(yuǎn)深空的中轉(zhuǎn)站;月球科學(xué)研究對推動空間科學(xué)發(fā)展具有重要作用;月球資源開發(fā)利用對人類的可持續(xù)發(fā)展具有重要意義。月球作為地球唯一的衛(wèi)星和最近的地外天體,在人類空間探索中的地位獨一無二。1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測ISECG全球探索路線圖(2018)月球火星美國深空之門中國國際月球科研站發(fā)展態(tài)勢:近地軌道

地月空間

火星美、俄、中;歐、日、印、以、英、韓……首要目標(biāo):月球探測探測重點:掌握技術(shù)探測模式:單點短期

長期可持續(xù)國際合作:分擔(dān)經(jīng)費與風(fēng)險,共享成果與發(fā)展探測區(qū)域:逐漸聚焦資源富集的月球南極科學(xué)研究、資源開發(fā)俄羅斯歐空局月球村倡議2036-2040年建成月球基地2024年前11次任務(wù)8次2次美國深空之門載人登月月球基地1次2027年前,4次任務(wù)進(jìn)入新世紀(jì)以來,月球正成為航天大國戰(zhàn)略角逐的制高點。1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測探月工程二期落探月工程三期回人機聯(lián)合探測機器人月球探測載人月球探測

-科學(xué)探測-技術(shù)試驗-資源開發(fā)利用-……-載人往返技術(shù)-再生生保技術(shù)-出艙技術(shù)-……-能源保障-通信保障-生命保障-運輸保障-運營保障-……

探月工程四期……我國嫦娥系列任務(wù)五戰(zhàn)五捷,基本具備從跟跑向領(lǐng)跑轉(zhuǎn)變的能力。探月工程一期繞國際月球科研站大科學(xué)工程持續(xù)開展技術(shù)突破1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測定位:月面基礎(chǔ)設(shè)施和共享平臺。建設(shè)思路:中國牽頭,多國參與。特點:多學(xué)科、多目標(biāo)、多主體;可擴展、可維護。設(shè)計理念:功能模塊化、接口標(biāo)準(zhǔn)化、設(shè)計數(shù)字化。國際月球科研站(InternationalLunarResearchStation,ILRS)多領(lǐng)域耦合更強技術(shù)難度更大任務(wù)周期更長運營維護更難協(xié)同挑戰(zhàn)更多ILRS已成為我國首批大科學(xué)工程培育項目。1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測多領(lǐng)域耦合更強復(fù)雜程度更高技術(shù)難度更大任務(wù)周期更長協(xié)同挑戰(zhàn)更多中國如何牽頭組織迫切需要解決,大型復(fù)雜系統(tǒng)工程的:

跨領(lǐng)域統(tǒng)一、跨層次集成、跨階段持續(xù)、跨地域協(xié)同。1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)特點全流程統(tǒng)一多領(lǐng)域統(tǒng)一信息物理融合復(fù)雜性高成本高需要高可靠性多系統(tǒng)交聯(lián)多層次結(jié)構(gòu)多學(xué)科耦合多團隊協(xié)作知識密集大量先進(jìn)材料大量試驗活動大量維護活動研制周期長制造費用高運行環(huán)境多樣安全性與可靠性設(shè)計難度大規(guī)范性要求高適航要求高統(tǒng)一標(biāo)準(zhǔn)體系統(tǒng)一系統(tǒng)架構(gòu)原理轉(zhuǎn)換傳遞接口互聯(lián)互通多領(lǐng)域耦合跨專業(yè)集成多層次集成求解高效實時虛實交互反饋數(shù)據(jù)融合分析決策迭代優(yōu)化機理數(shù)據(jù)混合系統(tǒng)特點需要做到1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)演變趨勢第一次工業(yè)革命第二次工業(yè)革命第三次工業(yè)革命第四次工業(yè)革命數(shù)字化智能化信息化電氣化網(wǎng)絡(luò)化機械化復(fù)雜裝備數(shù)字研發(fā)、交付和運維1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)研制方法理論分析試制試驗系統(tǒng)理論分析系統(tǒng)仿真物理試驗可操縱性差難以觀測試驗成本高危險性較高試驗要求高......可操縱性強可觀測性經(jīng)濟性好可預(yù)測性擴大試驗范圍......1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)研制方法物理空間數(shù)字世界模型虛擬設(shè)計交付系統(tǒng)需求研制要求初步設(shè)計詳細(xì)設(shè)計產(chǎn)品實現(xiàn)系統(tǒng)集成產(chǎn)品測試產(chǎn)品驗證交付確認(rèn)服務(wù)維護虛擬確認(rèn)虛擬維護虛擬運行虛擬集成虛擬驗證需求建模虛擬實現(xiàn)設(shè)計建模架構(gòu)建模仿真建模數(shù)字主線設(shè)計物理1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景現(xiàn)代復(fù)雜工程系統(tǒng)研制方法信息物理融合系統(tǒng)(Cyber-PhysicalSystems,CPS):由一些能夠相互通訊的計算機設(shè)備組成,這些計算機設(shè)備能夠通過傳感器和作動器與物理世界實現(xiàn)反饋閉環(huán)式交互。信息域物理域網(wǎng)絡(luò)計算軟件物理組件環(huán)境模型機械電氣流體熱磁測試測量......人工智能數(shù)據(jù)科學(xué)控制算法Algorithm算法、Function函數(shù)基于方程、面向?qū)ο?、多領(lǐng)域統(tǒng)一先進(jìn)算法+精密設(shè)備1.1、科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景信息物理融合系統(tǒng)軟件工具現(xiàn)狀2020年6月6日起,哈工大和哈工程被禁用MATLAB。一、Julia語言及MWORKS簡介1.1科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景1.2MWORKS平臺簡介1.3科學(xué)計算環(huán)境Syslab功能簡介1.4系統(tǒng)建模仿真環(huán)境Sysplorer功能簡介1.5Julia語言簡介1.5、Julia語言科學(xué)計算語言概述目前,國際上有三種商用科學(xué)計算語言最有影響:TheMathWorks公司的MATLAB語言、WolframResearch公司的Mathematica語言和WaterlooMaple公司的Maple語言。盡管MATLAB、Maple和Mathematica等語言具備強大的科學(xué)運算功能,但它們都是需要付費的商用軟件,其內(nèi)核部分的源程序也是不可見的。1.5、Julia語言科學(xué)計算語言概述開放式科學(xué)計算語言Scilab:由法國國家計算機科學(xué)與控制研究院開發(fā)的類似于MATLAB的軟件,于1989年正式推出,其源代碼完全公開,且為免費傳播的自由軟件。該語言的主要應(yīng)用背景是控制與信號處理。Octave:構(gòu)思于1988年,并于1993年正式推出的一種數(shù)值計算語言,其出發(fā)點和MATLAB一樣都是數(shù)值線性代數(shù)的計算。該語言早期的目標(biāo)是為教學(xué)提供支持,目前也是較為廣泛地應(yīng)用于教學(xué)領(lǐng)域。Python:是一種面向?qū)ο蟮摹討B(tài)的程序設(shè)計語言,越來越適合于做科學(xué)計算、繪制高質(zhì)量的2D和3D圖形。與科學(xué)計算領(lǐng)域最流行的商業(yè)軟件MATLAB相比,Python是一門通用的程序設(shè)計語言,比MATLAB所采用的腳本語言應(yīng)用范圍更廣泛,有更多的程序庫支持,但MATLAB中的許多高級功能和工具箱目前還是無法替代。1.5、Julia語言Julia語言簡介Julia語言是一個面向科學(xué)計算的高性能動態(tài)高級程序設(shè)計語言,首先定位是通用編程語言,其次是高性能計算語言,其語法與其他科學(xué)計算語言相似,在多數(shù)情況下?lián)碛心芘c編譯型語言相媲美的性能。目前Julia語言主要應(yīng)用領(lǐng)域為數(shù)據(jù)科學(xué)、科學(xué)計算與并行計算、數(shù)據(jù)可視化、機器學(xué)習(xí)。Julia語言特點采用MIT許可證,免費又開源;用戶自定義類型的速度與兼容性和內(nèi)建類型一樣好;無需特意編寫向量化的代碼;專為并行計算和分布式計算設(shè)計;輕量級的“綠色”線程;簡潔的類型系統(tǒng);便捷、可擴展的類型轉(zhuǎn)換和類型提升;對Unicode的有效支持,包括但不限于UTF-8;像Lisp一樣的宏和其他元編程工具;直接調(diào)用C函數(shù),無需封裝或調(diào)用特別的API;像Shell一樣強大的管理其他進(jìn)程的能力;2012.2.142013.11.192014.8.212015.10.82016.9.202017.6.192019.8.202019.1.222018.8.82021.11.302023.1.8V0.1.0V0.2.0V0.3.0V0.4.0V0.5.0V0.6.0V1.0.0V1.1.0V1.2.0V1.7.0V1.8.5重要版本發(fā)布時間1.5、Julia語言Julia語言的優(yōu)勢Julia在語言設(shè)計方面具有先進(jìn)性Julia由傳統(tǒng)動態(tài)語言的專家們設(shè)計,在語法上追求與現(xiàn)有語言的近似,在功能上吸取現(xiàn)有語言的優(yōu)勢:Julia從LISP中吸收語法宏,將傳統(tǒng)面向?qū)ο笳Z言的單分派擴展為多重分派,運行時引入泛型以優(yōu)化其他動態(tài)語言中無法被優(yōu)化的數(shù)據(jù)類型等。Julia兼具建模語言的表現(xiàn)力和開發(fā)語音的高性能兩種特性在Julia中可以很容易地將代碼優(yōu)化到非常高的性能,而不需要涉及“兩語言”工作流問題,即在一門高級語言上進(jìn)行建模,然后將性能瓶頸轉(zhuǎn)移到一門低級語言上重新實現(xiàn)后進(jìn)行接口封裝。Julia是最適合構(gòu)建數(shù)字物理系統(tǒng)的語言Julia語言是一種與系統(tǒng)建模和數(shù)字孿生技術(shù)緊密融合的計算機語言,相比通用編程語言,Julia為功能模型的表示和仿真提供了高級抽象;相比專用商業(yè)工具或文件格式,Julia更具開放性和靈活性。1.5、Julia語言語言本質(zhì)差異—與MATLAB語言相比開源性質(zhì):Julia是一種完全開源的語言,任何人都可以查看和修改它的源代碼。動態(tài)編譯性質(zhì):Julia是一種動態(tài)編譯語言,它在運行時會將代碼編譯成機器碼,從而實現(xiàn)高效的執(zhí)行速度。而MATLAB則是一種解釋型語言,它會逐行解釋代碼并執(zhí)行,因此在處理大量數(shù)據(jù)時可能會比Julia慢一些。多重分派特性:Julia語言可根據(jù)不同參數(shù)類型選擇不同的函數(shù)實現(xiàn),使得Julia可以方便地處理復(fù)雜的數(shù)學(xué)和科學(xué)計算問題。MATLAB則是一種傳統(tǒng)的函數(shù)式編程語言,不支持多重分派。并行計算:Julia對并行計算提供了更好的支持,可以方便地實現(xiàn)多線程和分布式計算。MATLAB也支持并行計算,但需要用戶手動編寫并行代碼。Julia和MATLAB都是面向科學(xué)計算和數(shù)值分析的高級語言,但它們之間的差異在于Julia更加現(xiàn)代化和高效,而MATLAB則更加成熟和穩(wěn)定。Julia與其他科學(xué)計算語言的差異Julia語言與其他科學(xué)計算語言MATLAB、R、Python等語言的差異主要表現(xiàn)在語言的本質(zhì)、語言的表層語法和語言的生態(tài)等方面的差異。1.5、Julia語言語言本質(zhì)差異—與R語言相比設(shè)計理念:Julia語言旨在提供一種高性能、高效率的科學(xué)計算語言,強調(diào)代碼的可讀性和可維護性。R語言則是一種專門為統(tǒng)計計算而設(shè)計的語言,具有很多專門的統(tǒng)計計算函數(shù)和庫。性能:Julia語言具有非常高的性能,特別是在數(shù)值計算和科學(xué)計算方面,比R語言更快。這是因為Julia語言采用即時編譯技術(shù),能夠動態(tài)生成高效的機器碼,而R語言則是解釋執(zhí)行的。代碼復(fù)雜度:Julia語言相對來說更加簡潔,代碼復(fù)雜度較低,這是為了提高代碼的可讀性和可維護性。相比之下,R語言的代碼復(fù)雜度較高,這是為了方便數(shù)據(jù)分析人員快速實現(xiàn)統(tǒng)計計算任務(wù)。庫和生態(tài)系統(tǒng):R語言具有非常豐富的統(tǒng)計計算函數(shù)和庫,以及龐大的生態(tài)系統(tǒng),非常適合數(shù)據(jù)分析和統(tǒng)計計算。Julia語言相對來說庫和生態(tài)系統(tǒng)較小,但在數(shù)值計算和科學(xué)計算方面有非常強大的庫和工具支持。Julia語言適合需要高性能、高效率的科學(xué)計算任務(wù),而R語言適合數(shù)據(jù)分析和統(tǒng)計計算任務(wù)。選擇哪種語言主要取決于具體的應(yīng)用場景和需求。1.5、Julia語言語言本質(zhì)差異—與Python語言相比設(shè)計目的:Julia是一種專注于高性能科學(xué)計算和數(shù)據(jù)科學(xué)的編程語言,它的設(shè)計目的是為了提高數(shù)值計算和科學(xué)計算的效率和速度。Python則是一種通用編程語言,適用于各種應(yīng)用領(lǐng)域。類型系統(tǒng):Julia是一種動態(tài)類型語言,但是它具有靜態(tài)類型語言的優(yōu)點,它使用類型推斷來提高程序的性能。Python也是一種動態(tài)類型語言,但是類型推斷在Python不重要。性能:Julia的執(zhí)行速度通常比Python快,可以在運行時優(yōu)化代碼。Python通常使用解釋器,通常比編譯語言運行慢。生態(tài)系統(tǒng):Python有一個龐大的生態(tài)系統(tǒng),擁有豐富的庫和框架,適用于各種應(yīng)用。Julia的生態(tài)系統(tǒng)相對較小,但是它正在快速增長,擁有一些出色的科學(xué)計算庫和工具。Julia和Python都是出色的編程語言,各有優(yōu)缺點。如果需要高性能和數(shù)值計算能力,Julia更適合,如果需要通用編程和廣泛的生態(tài)系統(tǒng),Python更適合。1.5、Julia語言語言的表層差異語法表層的差異指的是在代碼書寫方式、關(guān)鍵字、語句表達(dá)方式和注釋方式等方面各個變成語言的不同。具體項JuliaMATLABRPython變量作用域全局/局部作用域全局作用域全局/局部作用域全局/局部作用域延續(xù)代碼行方法不完整的表達(dá)式自動延續(xù)符號...續(xù)行符號+續(xù)行反斜杠\續(xù)行字符串構(gòu)造符號雙引號/三引號單引號單引號/雙引號單引號/雙引號數(shù)組索引使用方括號A[i,j]使用圓括號A(i,j)使用方括號A[i,j]使用方括號A[i,j]索引整行x[2:end]x(2:)x[2,]x[2:]虛數(shù)單位表示imi或jij冪表示符號^^^**注釋符號#%##這些差異需要在學(xué)習(xí)新語言時重新適應(yīng),但也使得每種語言都有不同的優(yōu)勢和適用性。上表中列出的是部分差異,具體使用時還需自行學(xué)習(xí)并適應(yīng)。1.5、Julia語言語言的生態(tài)差異語言生態(tài)的差異是指在定義和使用函數(shù)時,不同編程語言采用的語法、規(guī)則和約定的不同之處。這些差異可以涉及函數(shù)參數(shù)傳遞方式、參數(shù)類型、返回值類型等方面,同時也可能涉及函數(shù)命名、作用域、遞歸等方面的規(guī)定和約束。JuliaMATLABRPython主要優(yōu)勢在于速度和易用性。Julia語言具有動態(tài)類型、高效的JIT編譯器和基于多重派發(fā)機制,這使得它能夠在計算密集型應(yīng)用中表現(xiàn)出色。Julia語言的生態(tài)系統(tǒng)雖然較為年輕,但已經(jīng)有了許多非常好的包和庫,包括DataFrames.jl、Distributions.jl、Plots.jl和JuMP.jl等。主要優(yōu)勢在于易用性和廣泛的功能。MATLAB語言有很多內(nèi)置的函數(shù)和工具箱,可以用于數(shù)據(jù)可視化、圖像處理、信號處理、人工智能和控制系統(tǒng)等方面。MATLAB語言的生態(tài)系統(tǒng)非常成熟,有大量的第三方工具箱可供選擇。除此之外,MATLAB語言還擁有龐大和活躍的社區(qū)。專為統(tǒng)計分析和數(shù)據(jù)可視化而設(shè)計的語言。它的主要優(yōu)勢在于統(tǒng)計分析和圖形繪制方面的豐富功能。R語言的生態(tài)系統(tǒng)非常強大,有許多非常好的包和庫,包括ggplot2、dplyr、tidyr、shiny和caret等。主要優(yōu)勢在于易用性和生態(tài)系統(tǒng)的豐富性。Python語言的生態(tài)系統(tǒng)非常龐大,有大量的科學(xué)計算庫和工具箱可供選擇,包括NumPy、SciPy、pandas、matplotlib、scikit-learn和TensorFlow等。這四種語言都有其獨特的特點和優(yōu)勢,在不同的應(yīng)用場景中各有所長一、Julia語言及MWORKS簡介1.1科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景1.2MWORKS平臺簡介1.3MWORKS.Syslab功能簡介1.4MWORKS.Sysplorer功能簡介1.5Julia語言簡介1.2、MWORKS平臺簡介MWORKS設(shè)計與驗證平臺MWORKS是蘇州同元軟控信息技術(shù)有限公司基于國際知識統(tǒng)一表達(dá)與互聯(lián)標(biāo)準(zhǔn)打造的系統(tǒng)智能設(shè)計與仿真驗證平臺,是面向數(shù)字工程的新一代科學(xué)計算與系統(tǒng)建模仿真系統(tǒng),MWORKS提供了機械、電子、液壓、控制、熱、信息等多領(lǐng)域統(tǒng)一建模仿真環(huán)境,實現(xiàn)了復(fù)雜裝備數(shù)字化模型標(biāo)準(zhǔn)表達(dá),支持物理系統(tǒng)和信息系統(tǒng)的融合。MWORKS產(chǎn)品定位:系統(tǒng)設(shè)計仿真驗證+科學(xué)計算與系統(tǒng)建模仿真2.采用基于模型的方法全面支撐系統(tǒng)研制,通過不同層次、不同類型的仿真實現(xiàn)系統(tǒng)設(shè)計的驗證。圍繞系統(tǒng)研制的方案論證、系統(tǒng)設(shè)計與驗證、測試與運維等階段,MWORKS分別提供小回路、大回路和數(shù)字孿生虛實閉環(huán)等三個設(shè)計驗證環(huán)路。1.2、MWORKS平臺簡介MWORKS設(shè)計與驗證平臺小回路設(shè)計驗證閉環(huán)70%的設(shè)計錯誤在系統(tǒng)設(shè)計階段被引入。在論證階段引入小回路設(shè)計驗證閉環(huán),可以實現(xiàn)系統(tǒng)方案的早期驗證,提前暴露系統(tǒng)設(shè)計缺陷與錯誤?;谀P偷南到y(tǒng)設(shè)計以用戶需求為輸入,能夠快速構(gòu)建系統(tǒng)初步方案,然后進(jìn)行計算和多方案比較得到論證結(jié)果,在設(shè)計早期就實現(xiàn)多領(lǐng)域系統(tǒng)綜合仿真驗證,確保系統(tǒng)架構(gòu)設(shè)計和系統(tǒng)指標(biāo)分解的合理性。大回路設(shè)計驗證閉環(huán)在傳統(tǒng)研制流程中,80%的問題在實物集成測試階段被發(fā)現(xiàn)。引入大回路設(shè)計驗證閉環(huán),通過多學(xué)科統(tǒng)一建模仿真以及聯(lián)合仿真,可以實現(xiàn)設(shè)計方案的數(shù)字化驗證,利用虛擬試驗對實物試驗進(jìn)行補充和拓展。在系統(tǒng)初步方案基礎(chǔ)上開展細(xì)化設(shè)計,以系統(tǒng)架構(gòu)為設(shè)計約束,各專業(yè)開展專業(yè)設(shè)計、仿真,最后回歸到總體,開展多學(xué)科聯(lián)合仿真,驗證詳細(xì)設(shè)計方案的有效性與合理性,開展多學(xué)科設(shè)計優(yōu)化,實現(xiàn)正確可靠的設(shè)計方案。數(shù)字孿生虛擬閉環(huán)在測試和運維階段,構(gòu)建基于Modelica+的數(shù)字孿生模型,實現(xiàn)對系統(tǒng)的模擬、監(jiān)控、評估、預(yù)測、優(yōu)化、控制,對傳統(tǒng)的基于實物試驗的測試驗證與基于測量數(shù)據(jù)的運行維護進(jìn)行補充和拓展。利用系統(tǒng)仿真工具建立產(chǎn)品數(shù)字功能樣機,通過半物理工具實現(xiàn)與物理產(chǎn)品的同步映射與交互,形成數(shù)字孿生閉環(huán),為產(chǎn)品測試、運維階段提供虛實融合的研制分析支持。MWORKS產(chǎn)品定位:系統(tǒng)設(shè)計仿真驗證+科學(xué)計算與系統(tǒng)建模仿真1.2、MWORKS平臺簡介MWORKS產(chǎn)品體系信息物理系統(tǒng)建模仿真通用平臺(Syslab+Sysplorer)各裝備行業(yè)數(shù)字化工程支撐平臺(Sysbuilder+Sysplorer+Syslink)開放、標(biāo)準(zhǔn)、先進(jìn)的計算仿真云平臺(MoHub)1套開放架構(gòu)N個領(lǐng)域工具4大系統(tǒng)軟件1個云環(huán)境1.2、MWORKS平臺簡介四大系統(tǒng)級產(chǎn)品系統(tǒng)架構(gòu)設(shè)計環(huán)境MWORKS.SysbuilderSysbuilder是面向復(fù)雜工程系統(tǒng)的系統(tǒng)架構(gòu)設(shè)計軟件,以用戶需求作為輸入,按照自頂向下的系統(tǒng)研制流程,以圖形化、結(jié)構(gòu)化、面向?qū)ο蠓绞礁采w系統(tǒng)的需求建模、功能分析、架構(gòu)設(shè)計、驗證評估過程,通過與Sysplorer的緊密集成,支持用戶在系統(tǒng)設(shè)計的早期開展方案論證并實現(xiàn)基于模型的多領(lǐng)域系統(tǒng)綜合分析和驗證??茖W(xué)計算環(huán)境MWORKS.SyslabSyslab是蘇州同元軟控信息技術(shù)有限公司面向科學(xué)計算全新推出的新一代科學(xué)計算環(huán)境,基于科學(xué)計算高性能動態(tài)高級程序設(shè)計語言Julia語言提供交互式編程環(huán)境,提供科學(xué)計算編程、編譯、調(diào)試和繪圖功能,內(nèi)置支持矩陣等數(shù)學(xué)運算、符號計算、信號處理、通信工具箱,支持用戶開展科學(xué)計算、數(shù)據(jù)分析、算法設(shè)計,并進(jìn)一步支持信息物理融合系統(tǒng)的設(shè)計、建模與仿真分析。系統(tǒng)建模仿真環(huán)境MWORKS.Sysplorer在測試和運維階段,構(gòu)建基于Modelica+的數(shù)字孿生模型,實現(xiàn)對系統(tǒng)的模擬、監(jiān)控、評估、預(yù)測、優(yōu)化、控制,對傳統(tǒng)的基于實物試驗的測試驗證與基于測量數(shù)據(jù)的運行維護進(jìn)行補充和拓展。利用系統(tǒng)仿真工具建立產(chǎn)品數(shù)字功能樣機,通過半物理工具實現(xiàn)與物理產(chǎn)品的同步映射與交互,形成數(shù)字孿生閉環(huán),為產(chǎn)品測試、運維階段提供虛實融合的研制分析支持。協(xié)同建模與模型數(shù)據(jù)管理環(huán)境MWORKS.SyslinkSyslink是面向協(xié)同設(shè)計與模型管理的基礎(chǔ)平臺,是MBSE環(huán)境中的模型、數(shù)據(jù)及相關(guān)工件協(xié)同管理解決方案,將傳統(tǒng)面向文件的協(xié)同轉(zhuǎn)變?yōu)槊嫦蚰P偷膮f(xié)同,為工程師屏蔽了通用版本管理工具復(fù)雜的配置和操作,提供了協(xié)同建模、模型管理、在線仿真和數(shù)據(jù)安全管理功能,為系統(tǒng)研制提供基于模型的協(xié)同環(huán)境。1.2、MWORKS平臺簡介系列工具箱科學(xué)計算:DifferentialEquationsLightGraphs......圖形與圖像處理:PlotsImages......人工智能:FluxKnet......優(yōu)化算法:OptimDistributions......計算機科學(xué):CUDAParallelAccelerator......生物學(xué):BioPhyloNetworks......同元官方工具箱TyBase(基礎(chǔ)工具箱)TyMath(數(shù)學(xué)工具箱)TyPlot(圖形工具箱)TyImages(圖像工具箱)TyGeoGraphics(地圖圖工具箱)TySymbolicMath(符號數(shù)學(xué)工具箱)TyCurveFitting(曲線擬合工具箱)TySingalProcessing(信號處理工具箱)TyCommunication(通信工具箱)TyDSP(DSP系統(tǒng)工具箱)TyControlSystem(控制系統(tǒng)工具箱)TyOptimization(優(yōu)化工具箱)TyStatistics(統(tǒng)計工具箱)開源生態(tài)工具箱Julia擁有豐富的開源生態(tài)資源,更多行業(yè)工具箱詳見:/1.2、MWORKS平臺簡介系列模型庫通用基礎(chǔ)庫專業(yè)組件庫行業(yè)系統(tǒng)庫行業(yè)應(yīng)用庫發(fā)動機庫電池庫車輛電子庫動力性經(jīng)濟性庫熱管理庫車輛動力學(xué)庫GNC庫航天電氣庫液體動力庫固體動力庫航天環(huán)控庫雷達(dá)設(shè)備庫飛控系統(tǒng)庫飛機液壓庫起落架庫航空發(fā)動機庫飛行動力學(xué)庫燃油系統(tǒng)庫汽車動力庫剎車系統(tǒng)庫車輛控制庫變速箱庫車輛動力學(xué)庫反應(yīng)堆庫蒸汽給水庫燃燒系統(tǒng)庫發(fā)電機庫項目復(fù)用級模型庫……基礎(chǔ)組件庫傳動組件庫多體系統(tǒng)庫氣動組件庫氣動元件庫液壓組件庫液壓元件庫熱液壓組件庫燃料電池庫電機庫液壓介質(zhì)庫氣動介質(zhì)庫接口庫1.2、MWORKS平臺簡介MWORKS產(chǎn)品體系信息物理系統(tǒng)建模仿真通用平臺(Syslab+Sysplorer)各裝備行業(yè)數(shù)字化工程支撐平臺(Sysbuilder+Sysplorer+Syslink)開放、標(biāo)準(zhǔn)、先進(jìn)的計算仿真云平臺(MoHub)1套開放架構(gòu)N個領(lǐng)域工具4大系統(tǒng)軟件1個云環(huán)境一、Julia語言及MWORKS簡介1.1科學(xué)計算與系統(tǒng)建模仿真應(yīng)用場景1.2MWORKS平臺簡介1.3MWORKS.Syslab功能簡介1.4MWORKS.Sysplorer功能簡介1.5Julia語言簡介1.3、MWORKS.Syslab功能簡介新一代科學(xué)計算環(huán)境,性能優(yōu)于對標(biāo)軟件MWORKS成為全球第四個科學(xué)計算與建模仿真一體化平臺Syslab與Sysplorer無縫融合支持CPS建模仿真提供數(shù)學(xué)、信號、通信、DSP系統(tǒng)、控制、統(tǒng)計、優(yōu)化等自主工具箱MWORKS.Syslab基于科學(xué)計算高性能動態(tài)高級程序設(shè)計語言Julia提供完整的交互式編程環(huán)境的完備功能,支持通用編程、科學(xué)計算、數(shù)據(jù)科學(xué)、機器學(xué)習(xí)、信號處理、通訊仿真、并行計算等功能。1.3、MWORKS.Syslab功能簡介六大功能:交互式編程環(huán)境科學(xué)計算函數(shù)庫計算數(shù)據(jù)可視化庫開發(fā)與管理與系統(tǒng)建模環(huán)境深度融合完善的中文幫助系統(tǒng)1.交互式編程環(huán)境:Syslab開發(fā)環(huán)境提供了便于用戶使用的Syslab函數(shù)和專業(yè)化的工具箱,其中許多工具是具有圖形化的接口。它是一個集成的用戶工作空間,允許用戶直接輸入輸出數(shù)據(jù),并通過資源管理器、代碼編輯器、命令行窗口、工作空間、窗口管理等編程環(huán)境和工具,提供功能完備、強大的交互式編程、調(diào)試與運行環(huán)境,提高了用戶的工作效率。1.3、MWORKS.Syslab功能簡介2.科學(xué)計算函數(shù)庫:Syslab是包含大量計算算法的集合,擁有上千個算數(shù)運算、線性代數(shù)、矩陣與數(shù)組運算、插值、數(shù)值積分與微分方程、傅里葉變換與濾波、符號計算、曲線擬合、信號處理、通信等豐富的高質(zhì)量、高性能科學(xué)計算函數(shù)和工程計算函數(shù),可以方便用戶直接調(diào)用而不需要另行編程,幾乎能夠解決大部分學(xué)科中的數(shù)學(xué)問題。初等數(shù)學(xué)線性代數(shù)矩陣論隨機數(shù)學(xué)插值微分方程求解傅里葉分析稀疏矩陣數(shù)論符號對象創(chuàng)建基本符號運算符號方程求解符號表達(dá)式推導(dǎo)化簡、代換線性和非線性回歸插值平滑處理擬合后處理樣條處理描述性統(tǒng)計量統(tǒng)計可視化連續(xù)分布離散分布多元分布分布檢驗位置檢驗散度檢驗線性規(guī)劃混合整數(shù)線性規(guī)劃非線性規(guī)劃二次規(guī)劃二階錐規(guī)劃最小二乘非線性方程組求解基礎(chǔ)數(shù)學(xué)庫327個符號數(shù)學(xué)庫476個曲線擬合庫85個統(tǒng)計庫465個優(yōu)化庫21個全局優(yōu)化庫21個遺傳算法多目標(biāo)遺傳算法粒子群算法模擬退火算法帕累托搜索算法模式搜索算法差分進(jìn)化算法1.3、MWORKS.Syslab功能簡介階梯圖區(qū)域圖箱線圖三維線圖二維線圖誤差條圖散點圖直方圖條形圖散點圖矩陣三維散點圖帕累托圖餅圖文字云熱圖極坐標(biāo)圖極坐標(biāo)中的直方圖填充的等高線圖三維等高線圖曲面圖等高線圖極坐標(biāo)中的散點圖地理氣泡圖對數(shù)坐標(biāo)軸可視化矩陣的稀疏模式三維條形圖水平條形圖網(wǎng)格曲面圖創(chuàng)建笛卡爾坐標(biāo)區(qū)填充多邊形區(qū)域矩形分塊圖從圖形文件讀取圖像3.計算數(shù)據(jù)可視化:Syslab具有豐富的圖形處理功能和方便的數(shù)據(jù)可視化功能,能夠?qū)⑾蛄亢途仃囉脠D形表現(xiàn)出來,并且可以對圖形進(jìn)行顏色、光照、紋理、透明性等設(shè)置以產(chǎn)生高質(zhì)量的圖形。利用Syslab繪圖,用戶不需要過多地考慮繪圖過程中的細(xì)節(jié),只需要給出一些基本參數(shù)就能夠利用內(nèi)置的大量易用的二維和三維繪圖函數(shù)繪制圖形。內(nèi)置圖形工具箱,提供三類36種圖形合計171個常用繪圖函數(shù)。1.3、MWORKS.Syslab功能簡介注冊庫:已注冊工具箱開發(fā)庫:本地工具箱函數(shù)庫的開發(fā)與測試通過包管理器,管理注冊庫與開發(fā)庫,點擊刷新即可查看注冊庫和開發(fā)庫。4.庫開發(fā)與管理:支持函數(shù)庫的注冊管理、依賴管理、加載卸載、版本切換,同時提供函數(shù)庫開發(fā)規(guī)范,以支持用戶自定義函數(shù)庫的開發(fā)與測試。1.3、MWORKS.Syslab功能簡介信息域物理域網(wǎng)絡(luò)計算軟件物理組件環(huán)境模型機械電氣流體熱磁測試測量......人工智能基于方程面向?qū)ο蠖囝I(lǐng)域統(tǒng)一Algorithm算法Function函數(shù)數(shù)據(jù)科學(xué)控制算法......5.與系統(tǒng)建模環(huán)境深度融合:Syslab與系統(tǒng)建模環(huán)境Sysplorer之間實現(xiàn)了雙向深度融合,優(yōu)勢互補,形成新一代科學(xué)計算與系統(tǒng)建模仿真平臺。1.3、MWORKS.Syslab功能簡介5.與系統(tǒng)建模環(huán)境深度融合Sysplorer是面向多領(lǐng)域工業(yè)產(chǎn)品的系統(tǒng)級綜合設(shè)計與仿真驗證環(huán)境,完全支持多領(lǐng)域統(tǒng)一建模規(guī)范Modelica,遵循現(xiàn)實中拓?fù)浣Y(jié)構(gòu)的層次化建模方式,支撐MBSE應(yīng)用。然而,在解決現(xiàn)代科學(xué)和工程技術(shù)實際問題過程中,用戶往往需要一個支持腳本開發(fā)和調(diào)試的環(huán)境,通過腳本驅(qū)動系統(tǒng)建模仿真環(huán)境,實現(xiàn)科學(xué)計算與系統(tǒng)建模仿真過程的自動化運行;同時也需要一個面向現(xiàn)代信息物理融合系統(tǒng)的設(shè)計、建模與仿真環(huán)境,支持基于模型的CPS開發(fā)。科學(xué)計算環(huán)境Syslab與系統(tǒng)建模環(huán)境Sysplorer實現(xiàn)了雙向深度融合。兩者優(yōu)勢互補,形成新一代科學(xué)計算與系統(tǒng)建模仿真平臺。1.3、MWORKS.Syslab功能簡介1個基礎(chǔ)環(huán)境16個工具箱2500+函數(shù)幫助支持分類主題(文檔、示例、…)支持全局搜索支持在線部署支持集成用戶幫助文檔6.完善的中文幫助系統(tǒng):提供完整易用的中文幫助系統(tǒng),用戶可以通過查詢幫助系統(tǒng),獲取函數(shù)的調(diào)用情況和需要的信息。43MWORKS軟件安裝部署軟件下載鏈接:同元軟控官網(wǎng):https://www.tongyuan.cc/許可證申請地址:https://www.tongyuan.cc/license運行環(huán)境配置類型最低規(guī)格推薦規(guī)格說明CPU1GHz2核2GHz4核主頻越高,軟件運行速度越快內(nèi)存8GB8GB實際需要的內(nèi)存取決于科學(xué)計算復(fù)雜度存儲10GB100GB用于存儲模型及其仿真結(jié)果顯示分辨率1024×7682560×1440操作系統(tǒng)Windows1064位Windows1064位磁盤C盤C盤提供一套Syslab客戶端倉庫,包含圖形庫、圖像庫、數(shù)學(xué)庫等開發(fā)庫以及Julia常用庫。Syslab客戶端倉庫統(tǒng)一路徑為“C:\Users\Public\TongYuan\.julia”。確定電腦有C盤。44MWORKS.Syslab軟件安裝部署安裝步驟:MWORKS.Syslab2023a安裝包為iso光盤映像文件。其中data文件夾為相關(guān)資源文件,包括Julia倉庫等;.exe文件為MWORKS.Syslab安裝程序;PDF文件為安裝與配置說明書。45科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹46科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹Tab頁工具欄47科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹左側(cè)邊欄48科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹資源管理器49科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹調(diào)試控制臺調(diào)試50科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹表格樹展示區(qū)工具欄按鈕51科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹編輯器窗口52科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹命令行窗口53科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹工作區(qū)窗口54科學(xué)計算環(huán)境—MWORKS.Syslab界面介紹編輯器布局窗口的顯示與隱藏55科學(xué)計算環(huán)境—MWORKS.SyslabJulia

REPL的幾種模式具有全功能的交互式命令行(Read-Eval-PrintLoop,REPL)REPL環(huán)境可以實時與用戶交互自動讀取用戶輸入的表達(dá)式自動求解,并顯示求解結(jié)果Package模式Help模式Shell模式Julia模式緊挨命令提示符輸入“]”進(jìn)入緊挨命令提示符輸入“?”進(jìn)入緊挨命令提示符輸入“;”進(jìn)入科學(xué)計算環(huán)境—MWORKS.SyslabJulia模式REPL中最常見的模式,也是默認(rèn)情況下的操作模式。運算結(jié)果綁定到變量ans每行尾隨分號可以作為標(biāo)識符抑制顯示結(jié)果julia>string(3*4)"12"julia>ans"12"julia>a=rand(2,2);b=exp(1)2.718281828459045julia>a=rand(2,2);b=exp(1);julia>Help模式輸入任意功能名稱獲取該功能的使用說明、幫助文本及演示實例,例如查詢類型、變量、函數(shù)、方法、類和工具箱等。REPL環(huán)境在搜索并顯示完成相關(guān)文檔后自動切回至Julia模式。5657科學(xué)計算環(huán)境—MWORKS.SyslabPackage模式—文本操作用來管理程序包,用于識別加載或更新程序包的命令,例如add、rm、update。安裝新的程序包—add(@v1.7)pkg>addMLJ移除已安裝的程序包—rm(@v1.7)pkg>rmMLJ更新已安裝的程序包—update(@v1.7)pkg>updateMLJ表示Julia語言的特性版本也可以一次性安裝、移除或更新多個程序包,Package模式還支持更多命令,可自行學(xué)習(xí):/v1/可視化操作包管理器→注冊庫→添加注冊包①②③搜索包安裝/移除/更新包④安裝/移除/更新成功科學(xué)計算環(huán)境—MWORKS.Syslab注意事項工具箱下載慢,可在首選項中使用國內(nèi)鏡像源。預(yù)編譯出錯時,可能是依賴的某些第三方工具箱版本不匹配,需用手動安裝依賴工具箱。操作步驟:首選項中,關(guān)閉系統(tǒng)映像文件安裝第三方依賴工具箱(addDiffEqBase@6.100)安裝第三方工具箱(Flux,Image,ImagesView等)構(gòu)建映像首選項中,勾選系統(tǒng)映像文件(@v1.7)pkg>addDiffEqBase@6.100可在pkg模式下鍵入“st”查看所有工具箱的版本號5859Syslab與Sysplorer的雙向融合使用前準(zhǔn)備:在Syslab工具欄中點擊Sysplorer,自動打開Sysplorer軟件并加載Modelica3.2.3模型庫出現(xiàn)SyslabWorkspace。注意事項:如不能打開Sysplorer軟件,則需要確認(rèn)Syslab首選項中Sysplorer可執(zhí)行文件路徑是否正確Syslab和Sysplorer均需2022版以上Sysplorer軟件編譯器為64位60Syslab與Sysplorer的雙向融合ToWorkspace:Sysplorer的仿真結(jié)果發(fā)送至Syslab工作區(qū)中ToWorkspace子庫中包含4個組件,分別為:ToWorkspace_Scale:輸出為標(biāo)量數(shù)據(jù)ToWorkspace_Vector:輸出為一維數(shù)組ToWorkspace_Matrix:輸出為矩陣ToWorkspace_3D_Array:輸出為三維數(shù)組FromWorkspace:Sysplorer從Syslab工作區(qū)中讀取數(shù)據(jù)fromWorkspace子庫中包含5個組件,分別為:fromWorkspace_Scale:獲取標(biāo)量數(shù)據(jù)fromWorkspace_Vector:獲取一維數(shù)組fromWorkspace_Matrix:獲取二維數(shù)組fromWorkspace_3D_Array:獲取三維數(shù)組fromWorkspaceTimeTable:獲取表格矩陣,并通過線性插值來生成(可能是不連續(xù)的)信號61Syslab與Sysplorer的雙向融合Syslab調(diào)用SysplorerAPI類別命令接口含義系統(tǒng)命令ClearScreen清空命令窗口SaveScreen保存命令窗口內(nèi)容至文件ChangeDirectory更改工作目錄ChangeSimResultDirectory更改仿真結(jié)果目錄RunScript執(zhí)行腳本文件GetLastErrors獲取上一條命令的錯誤信息ClearAll移除所有模型Echo打開或關(guān)閉命令執(zhí)行狀態(tài)的輸出Exit退出MWorks.Sysplorer文件命令OpenModelFile加載指定的Modelica模型文件LoadLibrary加載Modelica模型庫ImportFMU導(dǎo)入FMU文件EraseClasses刪除子模型或卸載頂層模型ExportIcon把圖標(biāo)視圖導(dǎo)出為圖片ExportDiagram把組件視圖導(dǎo)出為圖片ExportDocumentation把模型文檔信息導(dǎo)出到文件ExportFMU模型導(dǎo)出為FMUExportVeristand模型導(dǎo)出為Veristand模型ExportSFunction模型導(dǎo)出為Simulink的S-Function類別命令接口含義仿真命令OpenModel打開模型窗口CheckModel檢查模型TranslateModel翻譯模型SimulateModel仿真模型RemoveResults移除所有結(jié)果RemoveResult移除最后一個結(jié)果ImportInitial導(dǎo)入初值文件ExportInitial導(dǎo)出初值文件GetInitialValue獲取變量初值SetInitialValue設(shè)置變量初值ExportResult導(dǎo)出結(jié)果文件SetCompileSolver64設(shè)置翻譯時編譯器平臺位數(shù)GetCompileSolver64獲取翻譯時編譯器平臺位數(shù)SetCompileFmu64設(shè)置fmu導(dǎo)出時編譯器平臺位數(shù)GetCompileFmu64獲取fmu導(dǎo)出時編譯器平臺位數(shù)這些命令的統(tǒng)一調(diào)用格式均為:Sysplorer.命令接口名稱62Syslab與Sysplorer的雙向融合類別命令接口含義曲線命令CreatePlot按指定的設(shè)置創(chuàng)建曲線窗口Plot在最后一個窗口中繪制指定變量的曲線RemovePlots關(guān)閉所有曲線窗口ClearPlot清除曲線窗口中的所有曲線ExportPlot曲線導(dǎo)出動畫命令CreateAnimation新建動畫窗口RemoveAnimations關(guān)閉所有動畫窗口RunAnimation播放動畫StopAnimation停止動畫播放AnimationSpeed設(shè)置動畫播放速度類別命令接口含義模型對象操作命令GetClasses獲取指定模型的嵌套類型GetComponents獲取指定模型的嵌套組件GetParamList獲取指定組件前綴層次中的參數(shù)列表GetModelDescription獲取指定模型的描述文字SetModelDescription設(shè)置指定模型的描述文字GetComponentDescription獲取指定模型中組件的描述文字SetComponentDescription設(shè)置指定模型中組件的描述文字SetParamValue設(shè)置當(dāng)前模型指定參數(shù)的值SetModelText修改模型的Modelica()文本內(nèi)容GetExperiment獲取模型仿真配置關(guān)于SysplorerAPI命令可見Syslab中文幫助文檔中“SysplorerAPI”Syslab調(diào)用SysplorerAPI63Syslab與Sysplorer的雙向融合Sysplorer調(diào)用SyslabFunction模塊在系統(tǒng)建模仿真環(huán)境Sysplorer中打開、編輯和調(diào)試Syslab中的函數(shù)文件需要通過SyslabFunction模塊實現(xiàn)。SyslabGlobalConfig:用于進(jìn)行Julia全局聲明,可以導(dǎo)入包及全局變量聲明等。當(dāng)創(chuàng)建了SyslabGlobalConfig組件后,單擊右鍵選擇“Syslab初始化配置…”選項可以在Syslab中打開編輯器,編寫全局聲明的Julia腳本。SyslabFunction:用于嵌入Julia函數(shù),并將SyslabFunction模塊的輸入和輸出數(shù)據(jù)指定為參數(shù)和返回值。Sysplorer仿真過程中每運行一步都會調(diào)用該Julia函數(shù)。對于SyslabFunction組件而言,單擊右鍵選擇“編輯Syslab腳本函數(shù)…”選項可以在Syslab中打開編輯器編寫Julia腳本。SyslabFunction組件認(rèn)為腳本中的第一個函數(shù)為該組件的主函數(shù),其他函數(shù)均為服務(wù)于主函數(shù)的輔助函數(shù)。根據(jù)主函數(shù)的內(nèi)容,組件從函數(shù)聲明中的輸入?yún)?shù)獲取組件的輸入端口數(shù)量及名稱。主函數(shù)必須使用function定義;主函數(shù)的輸入不要指定類型和具名參數(shù);主函數(shù)的輸出必須使用return指定,且必須為函數(shù)體中已經(jīng)出現(xiàn)的變量符號。注意事項二、Julia語言基礎(chǔ)語法2.1基本數(shù)據(jù)類型2.2數(shù)組2.3集合容器2.4數(shù)學(xué)運算和初等函數(shù)2.5

流程控制2.1、基本數(shù)據(jù)類型Julia語言中定義了多種基本的數(shù)據(jù)類型,包括數(shù)值型、字符型和邏輯型等。Julia內(nèi)部的所有數(shù)據(jù)類型都是按照數(shù)組的形式進(jìn)行存儲和運算的,同時,Julia支持不同數(shù)據(jù)類型間的轉(zhuǎn)換,增加了數(shù)據(jù)處理的靈活性。2.1.1變量變量賦值:與其他動態(tài)類型語言一樣,Julia無需提前聲明變量類型,可以直接創(chuàng)建。julia>a="Hello,World""Hello,World"julia>print(a)Hello,Worldjulia>b

=

11julia>x#x未定義ERROR:UndefVarError:xnotdefined一般形式:x=val注意:輸入變量名則會顯示該變量的值Julia中不會自動創(chuàng)建變量2.1、基本數(shù)據(jù)類型2.1.1變量變量的命名規(guī)則:英文,規(guī)則如下:區(qū)分大小寫;不能以數(shù)字開頭;變量與函數(shù)名建議用下劃線分隔;類與模塊首字母建議大寫,駝峰式;中文:不推薦使用Unicode字符:輸入某個LaTeX符號(比如\beta),再敲擊Tab鍵。注意:不能使用Julia中已有的單詞的關(guān)鍵詞作為變量名julia>a="Hello,World""Hello,World"julia>a

=

22julia>啊=

10#不推薦使用10julia>β

=

36#\beta,再敲擊Tab鍵36julia>α?=10#先轉(zhuǎn)義\alpha,在轉(zhuǎn)義\^pjulia>12a=12#不能以數(shù)字開頭,12a含義為12*aERROR:syntax:"12"isnotavalidfunctionargumentnamearoundREPL[6]:1julia>x,y,z=11,12,13#平行賦值法(11,12,13)2.1、基本數(shù)據(jù)類型2.1.1變量變量的作用域:即變量的可用性范圍,是指標(biāo)識符可以被其他代碼直接引用的一個區(qū)域,超出該區(qū)域,這個標(biāo)識符在默認(rèn)的情況下是不可見的。Julia語言中作用域:全局作用域、局部作用域。根據(jù)作用域?qū)⒆兞糠譃椋喝肿兞?、局部變量。結(jié)構(gòu)作用域baremodule、module全局struct全局for、while、try全局或局部macro全局let、function、comprehensions、generators全局或局部2.1、基本數(shù)據(jù)類型變量的類型:Julia有Any類型和Union{}類型兩個特殊類型以及抽象類型(abstracttypes)、原始類型(primitivetypes)、復(fù)合類型(compositetypes)三種主要類型。Any類型:唯一的頂層類型,是所有類型的直接超類型或間接超類型。Union{}類型:是所有相關(guān)類型的子類型。Union{Types…},Types…代表任意個類型參數(shù),多個時用逗號隔開,可以把多個類型聯(lián)合成一個類型,并讓后者作為前者的同一代表,因此又稱聯(lián)合類型。抽象類型:不能被實例化,只能作為類型圖中的節(jié)點使用,從而描述由相關(guān)具體類型組成的集合,為具體類型提供默認(rèn)實現(xiàn)原始類型:是一種具體類型,其數(shù)據(jù)是由簡單的位組成。原始類型的經(jīng)典示例是整數(shù)和浮點數(shù)。復(fù)合類型:也是一種具體類型,在各種語言中被稱為record、struct和object。2.1.1變量2.1、基本數(shù)據(jù)類型2.1.2整數(shù)與浮點數(shù)整數(shù)類型:類型是否帶符號比特數(shù)最小值最大值Int8√8-2^72^7-1UInt8802^8-1Int16√16-2^152^15-1UInt161602^16-1Int32√32-2^312^31-1UInt323202^32-1Int64√64-2^632^63-1UInt646402^64-1Int128√128-2^1272^127-1UInt12812802^128-1BoolN/A8false(0)true(1)julia>a=11julia>typeof(a)#操作系統(tǒng)為64位Int64julia>max=typemax(Int64)9223372036854775807julia>max+1#超限-9223372036854775808julia>min=typemin(Int64)-9223372036854775808julia>min–1#超限9223372036854775807julia>x=typeof(0x123)UInt16julia>Int64(0x123)#轉(zhuǎn)化為Int64291說明:根據(jù)操作系統(tǒng)不同,整數(shù)Int可能是Int32或Int64超出一個類型可表示的范圍會導(dǎo)致環(huán)繞無符號整數(shù)會使用0x為前綴的十六進(jìn)制來表示可以使用T()進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換minmax2.1、基本數(shù)據(jù)類型2.1.2整數(shù)與浮點數(shù)浮點類型:用于表示小數(shù)類型精度比特數(shù)Float16半(half)16Float32單(single)32Float64雙(double)64julia>a=5.25.2julia>typeof(a)#操作系統(tǒng)為64位Float64julia>typeof(1e5)#操作系統(tǒng)為64位Float64julia>typeof(5.2f0)#使用f則為32位Float32julia>Float32(a)5.2f0說明:浮點數(shù)的默認(rèn)類型取決于電腦系統(tǒng)是32位還是64位浮點數(shù)可以用科學(xué)記數(shù)法表示使用“f”替代“e”或Float32()可以得到Float32的浮點數(shù)半精度一般采用軟件模擬,性能較差,不推薦使用2.1、基本數(shù)據(jù)類型2.1.2整數(shù)與浮點數(shù)特殊浮點數(shù):正零、負(fù)零、正無窮、負(fù)無窮、NaNFloat16Float32Float64名稱描述Inf16Inf32Inf正無窮大于所有有限浮點數(shù)的值-Inf16-Inf32-Inf負(fù)無窮大于所有有限浮點數(shù)的值NaN16NaN32NaN非數(shù)不等于任何浮點數(shù),甚至不等于自己julia>typemax(Float64)Infjulia>typemin(Float64)-Infjulia>0/0NaNjulia>Inf/InfNaNjulia>0*InfNaNjulia>NaN+1#傳染性NaNjulia>Inf+1#傳染性Infjulia>NaN==NaN#NaN不等于任何值falsejulia>Inf==Inftruejulia>0.0==-0.0#正零與負(fù)零相等truejulia>0.0===-0.0#正零與負(fù)零二進(jìn)制表示不同

falsejulia>bitstring(0.0)

"0000000000000000000000000000000000000000000000000000000000000000"

julia>bitstring(-0.0)

"1000000000000000000000000000000000000000000000000000000000000000"說明:Inf和NaN具有傳染性NaN甚至不等于它自己2.1、基本數(shù)據(jù)類型任意精度計算:BigInt和BigFloat分別提供了任意精度的整數(shù)和浮點數(shù)julia>typemax(Int64)+1#超限-9223372036854775808julia>BigInt(typemax(Int64))+1#擴位9223372036854775808julia>typeof(ans)BigIntjulia>big“1.23456789012345678901”#提高精度1.234567890123456789010000000000000000000000000000000000000000000000000000000004julia>2.0^66/32.4595658764946067e19julia>BigFloat(2.0^66)/3#提高精度2.459565876494606882133333333333333333333333333333333333333333333333333333333344e+19julia>typeof(ans)BigFloat可使用以下語句對數(shù)值進(jìn)行擴位:BigInt(x)或BigFloat(x)big""minmaxminmax2.1.2整數(shù)與浮點數(shù)復(fù)數(shù)的定義Julia中復(fù)數(shù)的虛部用“im”

表示,im為全局變量。注意:

不能使用i和j來表示虛部復(fù)數(shù)的構(gòu)建Julia>1+2im1+2imjulia>1+Inf*im1.0+Inf*imjulia>1+NaN*im1.0+NaN*im方法一(im直接構(gòu)建):方法二(complex函數(shù)構(gòu)建):julia>a=1;b=2;complex(a,b)1+2im注意:

a+bim,b如果為變量名稱時則錯誤一般形式:a+b*im2.1、基本數(shù)據(jù)類型2.1.3復(fù)數(shù)和有理數(shù)2.1、基本數(shù)據(jù)類型2.1.3復(fù)數(shù)和有理數(shù)說明:不同數(shù)據(jù)類型可直接進(jìn)行計算復(fù)數(shù)運算的結(jié)果必為復(fù)數(shù)系數(shù)的優(yōu)先級比除法的優(yōu)先級更高:3/4im==3/(4*im)==-(3/4)im復(fù)數(shù)的運算julia>1+2im1+2imjulia>(1+2im)*(2-3im)#復(fù)數(shù)乘法8+1imjulia>(1+2im)/(1-2im)#復(fù)數(shù)除法-0.6+0.8imjulia>(1+2im)+(1-2im)#復(fù)數(shù)加法2+0imjulia>(1+2im)+0.5#復(fù)數(shù)和實數(shù)可以直接運算1.5+2.0imjulia>(-1+2im)^2.5#復(fù)數(shù)指數(shù)運算2.729624464784009-6.9606644595719imjulia>2im^2#復(fù)數(shù)求解的結(jié)果還是復(fù)數(shù)-2+0imjulia>1+3/4im#4im的優(yōu)先級最高1.0-0.75im2.1、基本數(shù)據(jù)類型2.1.3復(fù)數(shù)和有理數(shù)復(fù)數(shù)的初等函數(shù)使用julia>real(1+2im)#取實部1julia>imag(1+2im)#取虛部2julia>conj(1+2im)#求復(fù)共軛1-2imjulia>abs(1+2im)#求絕對值2.23606797749979julia>abs2(1+2im)#取絕對值的平方5julia>angle(1+2im)#取相位角1.1071487177940904julia>cos(1+2im)2.0327230070196656-3.0518977991517997imjulia>exp(1+2im)-1.1312043837568135+2.4717266720048188im說明:復(fù)數(shù)的絕對值(abs)是從零點到它的距離abs2給出絕對值的平方所有其他的初等函數(shù)在復(fù)數(shù)上都可使用關(guān)鍵字描述real實部imag虛部conj復(fù)共軛abs絕對值abs2取平方后的絕對值angle以弧度為單位的相位角sqrt開根號cos求余弦exp指數(shù)運算sinh雙曲正弦函數(shù)運算julia>sqrt(1im)0.7071067811865476+0.7071067811865475imjulia>sqrt(1+2im)1.272019649514069+0.7861513777574233imjulia>sqrt(-1)#負(fù)數(shù)不能直接開方,要改為復(fù)數(shù)形式ERROR:DomainErrorwith-1.0:sqrtwillonlyreturnacomplexresultifcalledwithacomplexargument.Trysqrt(Complex(x))julia>sqrt(-1+0im)0.0+1.0im注意:雖然-1==-1+0im,但是要對負(fù)數(shù)求平方根,負(fù)數(shù)只能寫成復(fù)數(shù)的形式。2.1、基本數(shù)據(jù)類型2.1.3復(fù)數(shù)和有理數(shù)有理數(shù)的構(gòu)建分?jǐn)?shù)的標(biāo)準(zhǔn)化分子和分母分別可以使用numerator和denominator函數(shù)得到:julia>numerator(4//6)#查看標(biāo)準(zhǔn)化分子2julia>numerator(2//3)2julia>denominator(4//6)#查看標(biāo)準(zhǔn)化分母3julia>denominator(2//3)3有理數(shù)通過“//”

構(gòu)建,用于表示整數(shù)精確比值的分?jǐn)?shù)類型julia>2//32//3有理數(shù)的標(biāo)準(zhǔn)化如果一個分?jǐn)?shù)的分子和分母含有公因子,它們會被約分到最簡形式且分母非負(fù):julia>6//92//3julia>-4//8-1//2julia>5//-15-1//3julia>-4//-121//3注意:分子分母只能為整型。一般形式:a//b2.1、基本數(shù)據(jù)類型2.1.3復(fù)數(shù)和有理數(shù)有理數(shù)的運算:“//”優(yōu)先級高于所有運算符(除im以外)julia>2//3==6//9truejulia>3//7<1//2truejulia>2//4+1//62//3julia>5//8*3//125//32julia>2//7*(1+2im)#2//7優(yōu)先級最高2//7+4//7*imjulia>1//2+2im#1//2優(yōu)先級最高1//2+2//1*imjulia>1+2//3im#3im優(yōu)先級最高1//1-2//3*imjulia>float(1//2)#分?jǐn)?shù)轉(zhuǎn)化為小數(shù)0.5julia>a=1;b=2;julia>isequal(float(a//b),a/b)true使用float()將值轉(zhuǎn)換為合適的浮點數(shù)類型,且完全相等除a==0且b==0時,任意整數(shù)值a,b從分?jǐn)?shù)到浮點數(shù)轉(zhuǎn)換遵循數(shù)值一致性Julia接受構(gòu)建無窮分?jǐn)?shù)值,但不接受構(gòu)建NaN分?jǐn)?shù)值julia>5//01//0julia>-3//0-1//0julia>float(ans)Infjulia>0//0ERROR:ArgumentError:invalidrational:zero(Int64)//zero(Int64)2.1、基本數(shù)據(jù)類型2.1.4字符和字符串字符與字符串聲明Julia中,Char表示單個字符,用單引號包圍String表示字符串,用雙引號或三引號包圍Char不等于Stringjulia>'x'#Char類型'x':ASCII/UnicodeU+0078(categoryLl:Letter,lowercase)julia>typeof('x')Charjulia>"中"#String類型"中"julia>typeof("中")Stringjulia>print("""中國:"歡迎你"。""")中國:"歡迎你"。#字符串中使用引號,最外側(cè)需要使用"""julia>typeof(ans)Stringjulia>'x'=="x"#不同類型false字符與字符串運算:基于Unicode代碼進(jìn)行運算julia>'A'<'a'#Char值比較,Int64('A')=65,Int64('a')=97truejulia>'x'-'a'#Char值有限運算,Int64('A')=120,Int64('a')=9723julia>'A'+1#求解結(jié)果還是Char'B':ASCII/UnicodeU+0042(categoryLu:Letter,uppercase)julia>s="\u2200x\u2203y"#\u2200可以根據(jù)Unicode代碼直接轉(zhuǎn)義"?x?y"2.1、基本數(shù)據(jù)類型2.1.4字符和字符串獲取長度函數(shù)描述ncodeunits()字符串中特定位置代碼單元值sizeof()數(shù)據(jù)或數(shù)據(jù)類型比特數(shù)length()字符串的字符數(shù)julia>length(example1)#計算example1中的字符數(shù)20julia>length(“J”)#計算example1中字符“J”的字符數(shù)1julia>length(“編”)#計算example1中字符“編”的字符數(shù)1julia>example1[1:16]#顯示example1中第1到第16個字符"科學(xué)計算語言"julia>length(example1,1,16)#計算example1中第1到第16個字符的字符數(shù)6julia>example1=“科學(xué)計算語言Julia與MWORKS實踐“#定義一個示例example1"科學(xué)計算語言Julia與MWORKS實踐"julia>ncodeunits(example1)#計算example1中的單元值38#漢字占有3個單元值,字母占有一個單元值julia>sizeof(example1)#計算example1中的比特數(shù)38julia>sizeof(“J”)#計算example1中字符“J”的比特數(shù)1julia>sizeof(“科”)#計算example1中字符“科”的比特數(shù)3julia>ncodeunits(“科”)#計算example1中字符“科”的占據(jù)的單元值3說明:ncodeunits、sizeof,這兩個函數(shù)應(yīng)用于采用UTF-8編碼的字符串相當(dāng)于獲取其中字節(jié)的數(shù)量。2.1、基本數(shù)據(jù)類型2.1.4字符和字符串索引函數(shù)描述firstindex()第一個元素的索引值lastindex()最后一個元素的索引值說明:字符串的索引是從1開始的可以使用end及begin進(jìn)行運算begin表示為1,end表示為字符串長度end÷2結(jié)果不為整數(shù)時,采用去尾法取證下標(biāo)小于開頭begin(1)或者大于結(jié)尾end都會導(dǎo)致錯誤字符串的索引可使用范圍來索引str[k]輸出結(jié)果為字符,str[k:k]輸出結(jié)果為字符串julia>str="Hello,world.\n";

str=[begin]#索引初始字符'H':ASCII/UnicodeU+0048(categoryLu:Letter,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論