版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、Julia語(yǔ)言及MWORKS簡(jiǎn)介1.1科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景1.2MWORKS平臺(tái)簡(jiǎn)介1.3MWORKS.Syslab功能簡(jiǎn)介1.4MWORKS.Sysplorer功能簡(jiǎn)介1.5Julia語(yǔ)言簡(jiǎn)介全套可編輯PPT課件
全套可編輯PPT課件
1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)示例——飛機(jī)航空產(chǎn)品系統(tǒng)規(guī)模與復(fù)雜性變化趨勢(shì)早期的飛機(jī)可將其歸類為“ComplicatedSystem”,即可以進(jìn)行分解的復(fù)雜系統(tǒng);現(xiàn)代的飛機(jī)越來越復(fù)雜,飛機(jī)系統(tǒng)及系統(tǒng)內(nèi)部的深度交聯(lián),航空產(chǎn)品從一個(gè)“ComplicatedSystem”逐漸向“ComplexSystem”轉(zhuǎn)變,即由可分解的復(fù)雜系統(tǒng)向不可分解的復(fù)雜系統(tǒng)轉(zhuǎn)變。1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景為實(shí)現(xiàn)長(zhǎng)期載人可靠飛行并開展有人參與的多領(lǐng)域空間科學(xué)實(shí)驗(yàn)與技術(shù)試驗(yàn),中國(guó)空間站全系統(tǒng)以“1=1+1+1”
的方式構(gòu)建,即整站功能被系統(tǒng)分解至3個(gè)艙段。兩個(gè)實(shí)驗(yàn)艙分別位于天和核心艙左右兩側(cè),共同形成對(duì)稱的“T”字構(gòu)型。天和核心艙:負(fù)責(zé)空間站平臺(tái)的統(tǒng)一管理和控制,并作為目標(biāo)飛行器支持來訪飛行器交會(huì)對(duì)接、轉(zhuǎn)位與停泊。問天實(shí)驗(yàn)艙:可以對(duì)天和核心艙平臺(tái)功能進(jìn)行系統(tǒng)級(jí)備份,能夠在應(yīng)急情況下“整體接管”空間站。夢(mèng)天實(shí)驗(yàn)艙:具備平臺(tái)重要功能和關(guān)鍵設(shè)備的備份能力,可以為航天員在密封艙內(nèi)工作、開展艙內(nèi)及艙外空間實(shí)(試)驗(yàn)提供保障條件?,F(xiàn)代復(fù)雜工程系統(tǒng)示例——空間站1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)示例——空間站空間站系統(tǒng)復(fù)雜度高,涉及到能源、環(huán)境、控制、信息、推進(jìn)等多學(xué)科、多系統(tǒng)。它的復(fù)雜還在于,一個(gè)專業(yè)設(shè)計(jì)如果發(fā)生了調(diào)整變化,會(huì)帶來一系列的對(duì)周邊系統(tǒng)的影響。五院空間站系統(tǒng)總指揮王翔舉了一個(gè)簡(jiǎn)單的例子:“比如說空間站最終在天上組裝建造完成,有一個(gè)很重要的動(dòng)作就是要轉(zhuǎn)位。整個(gè)空間站幾個(gè)艙的動(dòng)力學(xué)模型分別出自不同的單位,我們有負(fù)責(zé)結(jié)構(gòu)設(shè)計(jì)的單位,有負(fù)責(zé)大帆板研制的單位。那么轉(zhuǎn)位又要用轉(zhuǎn)位臂進(jìn)行平面轉(zhuǎn)位的操作。在轉(zhuǎn)位的過程中姿態(tài)變了,帆板受太陽(yáng)的照射就變了,可能發(fā)電的性能和最后的供電的輸出就全變了。”從航天器的整理功能和性能出發(fā),需要把握各分系統(tǒng)之間的相互聯(lián)系,各專業(yè)之間的耦合關(guān)系越來越緊密。1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測(cè)10AU火星44次土星5次118次月球金星41次地球成功66次成功率57%深空探測(cè):240余次。月球是太陽(yáng)系探測(cè)的試驗(yàn)場(chǎng),是邁向更遠(yuǎn)深空的中轉(zhuǎn)站;月球科學(xué)研究對(duì)推動(dòng)空間科學(xué)發(fā)展具有重要作用;月球資源開發(fā)利用對(duì)人類的可持續(xù)發(fā)展具有重要意義。月球作為地球唯一的衛(wèi)星和最近的地外天體,在人類空間探索中的地位獨(dú)一無二。1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測(cè)ISECG全球探索路線圖(2018)月球火星美國(guó)深空之門中國(guó)國(guó)際月球科研站發(fā)展態(tài)勢(shì):近地軌道
地月空間
火星美、俄、中;歐、日、印、以、英、韓……首要目標(biāo):月球探測(cè)探測(cè)重點(diǎn):掌握技術(shù)探測(cè)模式:?jiǎn)吸c(diǎn)短期
長(zhǎng)期可持續(xù)國(guó)際合作:分擔(dān)經(jīng)費(fèi)與風(fēng)險(xiǎn),共享成果與發(fā)展探測(cè)區(qū)域:逐漸聚焦資源富集的月球南極科學(xué)研究、資源開發(fā)俄羅斯歐空局月球村倡議2036-2040年建成月球基地2024年前11次任務(wù)8次2次美國(guó)深空之門載人登月月球基地1次2027年前,4次任務(wù)進(jìn)入新世紀(jì)以來,月球正成為航天大國(guó)戰(zhàn)略角逐的制高點(diǎn)。1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測(cè)探月工程二期落探月工程三期回人機(jī)聯(lián)合探測(cè)機(jī)器人月球探測(cè)載人月球探測(cè)
-科學(xué)探測(cè)-技術(shù)試驗(yàn)-資源開發(fā)利用-……-載人往返技術(shù)-再生生保技術(shù)-出艙技術(shù)-……-能源保障-通信保障-生命保障-運(yùn)輸保障-運(yùn)營(yíng)保障-……
探月工程四期……我國(guó)嫦娥系列任務(wù)五戰(zhàn)五捷,基本具備從跟跑向領(lǐng)跑轉(zhuǎn)變的能力。探月工程一期繞國(guó)際月球科研站大科學(xué)工程持續(xù)開展技術(shù)突破1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測(cè)定位:月面基礎(chǔ)設(shè)施和共享平臺(tái)。建設(shè)思路:中國(guó)牽頭,多國(guó)參與。特點(diǎn):多學(xué)科、多目標(biāo)、多主體;可擴(kuò)展、可維護(hù)。設(shè)計(jì)理念:功能模塊化、接口標(biāo)準(zhǔn)化、設(shè)計(jì)數(shù)字化。國(guó)際月球科研站(InternationalLunarResearchStation,ILRS)多領(lǐng)域耦合更強(qiáng)技術(shù)難度更大任務(wù)周期更長(zhǎng)運(yùn)營(yíng)維護(hù)更難協(xié)同挑戰(zhàn)更多ILRS已成為我國(guó)首批大科學(xué)工程培育項(xiàng)目。1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)示例——深空探測(cè)多領(lǐng)域耦合更強(qiáng)復(fù)雜程度更高技術(shù)難度更大任務(wù)周期更長(zhǎng)協(xié)同挑戰(zhàn)更多中國(guó)如何牽頭組織迫切需要解決,大型復(fù)雜系統(tǒng)工程的:
跨領(lǐng)域統(tǒng)一、跨層次集成、跨階段持續(xù)、跨地域協(xié)同。1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)特點(diǎn)全流程統(tǒng)一多領(lǐng)域統(tǒng)一信息物理融合復(fù)雜性高成本高需要高可靠性多系統(tǒng)交聯(lián)多層次結(jié)構(gòu)多學(xué)科耦合多團(tuán)隊(duì)協(xié)作知識(shí)密集大量先進(jìn)材料大量試驗(yàn)活動(dòng)大量維護(hù)活動(dòng)研制周期長(zhǎng)制造費(fèi)用高運(yùn)行環(huán)境多樣安全性與可靠性設(shè)計(jì)難度大規(guī)范性要求高適航要求高統(tǒng)一標(biāo)準(zhǔn)體系統(tǒng)一系統(tǒng)架構(gòu)原理轉(zhuǎn)換傳遞接口互聯(lián)互通多領(lǐng)域耦合跨專業(yè)集成多層次集成求解高效實(shí)時(shí)虛實(shí)交互反饋數(shù)據(jù)融合分析決策迭代優(yōu)化機(jī)理數(shù)據(jù)混合系統(tǒng)特點(diǎn)需要做到1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)演變趨勢(shì)第一次工業(yè)革命第二次工業(yè)革命第三次工業(yè)革命第四次工業(yè)革命數(shù)字化智能化信息化電氣化網(wǎng)絡(luò)化機(jī)械化復(fù)雜裝備數(shù)字研發(fā)、交付和運(yùn)維1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)研制方法理論分析試制試驗(yàn)系統(tǒng)理論分析系統(tǒng)仿真物理試驗(yàn)可操縱性差難以觀測(cè)試驗(yàn)成本高危險(xiǎn)性較高試驗(yàn)要求高......可操縱性強(qiáng)可觀測(cè)性經(jīng)濟(jì)性好可預(yù)測(cè)性擴(kuò)大試驗(yàn)范圍......1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)研制方法物理空間數(shù)字世界模型虛擬設(shè)計(jì)交付系統(tǒng)需求研制要求初步設(shè)計(jì)詳細(xì)設(shè)計(jì)產(chǎn)品實(shí)現(xiàn)系統(tǒng)集成產(chǎn)品測(cè)試產(chǎn)品驗(yàn)證交付確認(rèn)服務(wù)維護(hù)虛擬確認(rèn)虛擬維護(hù)虛擬運(yùn)行虛擬集成虛擬驗(yàn)證需求建模虛擬實(shí)現(xiàn)設(shè)計(jì)建模架構(gòu)建模仿真建模數(shù)字主線設(shè)計(jì)物理1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景現(xiàn)代復(fù)雜工程系統(tǒng)研制方法信息物理融合系統(tǒng)(Cyber-PhysicalSystems,CPS):由一些能夠相互通訊的計(jì)算機(jī)設(shè)備組成,這些計(jì)算機(jī)設(shè)備能夠通過傳感器和作動(dòng)器與物理世界實(shí)現(xiàn)反饋閉環(huán)式交互。信息域物理域網(wǎng)絡(luò)計(jì)算軟件物理組件環(huán)境模型機(jī)械電氣流體熱磁測(cè)試測(cè)量......人工智能數(shù)據(jù)科學(xué)控制算法Algorithm算法、Function函數(shù)基于方程、面向?qū)ο蟆⒍囝I(lǐng)域統(tǒng)一先進(jìn)算法+精密設(shè)備1.1、科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景信息物理融合系統(tǒng)軟件工具現(xiàn)狀2020年6月6日起,哈工大和哈工程被禁用MATLAB。一、Julia語(yǔ)言及MWORKS簡(jiǎn)介1.1科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景1.2MWORKS平臺(tái)簡(jiǎn)介1.3科學(xué)計(jì)算環(huán)境Syslab功能簡(jiǎn)介1.4系統(tǒng)建模仿真環(huán)境Sysplorer功能簡(jiǎn)介1.5Julia語(yǔ)言簡(jiǎn)介1.5、Julia語(yǔ)言科學(xué)計(jì)算語(yǔ)言概述目前,國(guó)際上有三種商用科學(xué)計(jì)算語(yǔ)言最有影響:TheMathWorks公司的MATLAB語(yǔ)言、WolframResearch公司的Mathematica語(yǔ)言和WaterlooMaple公司的Maple語(yǔ)言。盡管MATLAB、Maple和Mathematica等語(yǔ)言具備強(qiáng)大的科學(xué)運(yùn)算功能,但它們都是需要付費(fèi)的商用軟件,其內(nèi)核部分的源程序也是不可見的。1.5、Julia語(yǔ)言科學(xué)計(jì)算語(yǔ)言概述開放式科學(xué)計(jì)算語(yǔ)言Scilab:由法國(guó)國(guó)家計(jì)算機(jī)科學(xué)與控制研究院開發(fā)的類似于MATLAB的軟件,于1989年正式推出,其源代碼完全公開,且為免費(fèi)傳播的自由軟件。該語(yǔ)言的主要應(yīng)用背景是控制與信號(hào)處理。Octave:構(gòu)思于1988年,并于1993年正式推出的一種數(shù)值計(jì)算語(yǔ)言,其出發(fā)點(diǎn)和MATLAB一樣都是數(shù)值線性代數(shù)的計(jì)算。該語(yǔ)言早期的目標(biāo)是為教學(xué)提供支持,目前也是較為廣泛地應(yīng)用于教學(xué)領(lǐng)域。Python:是一種面向?qū)ο蟮摹?dòng)態(tài)的程序設(shè)計(jì)語(yǔ)言,越來越適合于做科學(xué)計(jì)算、繪制高質(zhì)量的2D和3D圖形。與科學(xué)計(jì)算領(lǐng)域最流行的商業(yè)軟件MATLAB相比,Python是一門通用的程序設(shè)計(jì)語(yǔ)言,比MATLAB所采用的腳本語(yǔ)言應(yīng)用范圍更廣泛,有更多的程序庫(kù)支持,但MATLAB中的許多高級(jí)功能和工具箱目前還是無法替代。1.5、Julia語(yǔ)言Julia語(yǔ)言簡(jiǎn)介Julia語(yǔ)言是一個(gè)面向科學(xué)計(jì)算的高性能動(dòng)態(tài)高級(jí)程序設(shè)計(jì)語(yǔ)言,首先定位是通用編程語(yǔ)言,其次是高性能計(jì)算語(yǔ)言,其語(yǔ)法與其他科學(xué)計(jì)算語(yǔ)言相似,在多數(shù)情況下?lián)碛心芘c編譯型語(yǔ)言相媲美的性能。目前Julia語(yǔ)言主要應(yīng)用領(lǐng)域?yàn)閿?shù)據(jù)科學(xué)、科學(xué)計(jì)算與并行計(jì)算、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)。Julia語(yǔ)言特點(diǎn)采用MIT許可證,免費(fèi)又開源;用戶自定義類型的速度與兼容性和內(nèi)建類型一樣好;無需特意編寫向量化的代碼;專為并行計(jì)算和分布式計(jì)算設(shè)計(jì);輕量級(jí)的“綠色”線程;簡(jiǎn)潔的類型系統(tǒng);便捷、可擴(kuò)展的類型轉(zhuǎn)換和類型提升;對(duì)Unicode的有效支持,包括但不限于UTF-8;像Lisp一樣的宏和其他元編程工具;直接調(diào)用C函數(shù),無需封裝或調(diào)用特別的API;像Shell一樣強(qiáng)大的管理其他進(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ā)布時(shí)間1.5、Julia語(yǔ)言Julia語(yǔ)言的優(yōu)勢(shì)Julia在語(yǔ)言設(shè)計(jì)方面具有先進(jìn)性Julia由傳統(tǒng)動(dòng)態(tài)語(yǔ)言的專家們?cè)O(shè)計(jì),在語(yǔ)法上追求與現(xiàn)有語(yǔ)言的近似,在功能上吸取現(xiàn)有語(yǔ)言的優(yōu)勢(shì):Julia從LISP中吸收語(yǔ)法宏,將傳統(tǒng)面向?qū)ο笳Z(yǔ)言的單分派擴(kuò)展為多重分派,運(yùn)行時(shí)引入泛型以優(yōu)化其他動(dòng)態(tài)語(yǔ)言中無法被優(yōu)化的數(shù)據(jù)類型等。Julia兼具建模語(yǔ)言的表現(xiàn)力和開發(fā)語(yǔ)音的高性能兩種特性在Julia中可以很容易地將代碼優(yōu)化到非常高的性能,而不需要涉及“兩語(yǔ)言”工作流問題,即在一門高級(jí)語(yǔ)言上進(jìn)行建模,然后將性能瓶頸轉(zhuǎn)移到一門低級(jí)語(yǔ)言上重新實(shí)現(xiàn)后進(jìn)行接口封裝。Julia是最適合構(gòu)建數(shù)字物理系統(tǒng)的語(yǔ)言Julia語(yǔ)言是一種與系統(tǒng)建模和數(shù)字孿生技術(shù)緊密融合的計(jì)算機(jī)語(yǔ)言,相比通用編程語(yǔ)言,Julia為功能模型的表示和仿真提供了高級(jí)抽象;相比專用商業(yè)工具或文件格式,Julia更具開放性和靈活性。1.5、Julia語(yǔ)言語(yǔ)言本質(zhì)差異—與MATLAB語(yǔ)言相比開源性質(zhì):Julia是一種完全開源的語(yǔ)言,任何人都可以查看和修改它的源代碼。動(dòng)態(tài)編譯性質(zhì):Julia是一種動(dòng)態(tài)編譯語(yǔ)言,它在運(yùn)行時(shí)會(huì)將代碼編譯成機(jī)器碼,從而實(shí)現(xiàn)高效的執(zhí)行速度。而MATLAB則是一種解釋型語(yǔ)言,它會(huì)逐行解釋代碼并執(zhí)行,因此在處理大量數(shù)據(jù)時(shí)可能會(huì)比Julia慢一些。多重分派特性:Julia語(yǔ)言可根據(jù)不同參數(shù)類型選擇不同的函數(shù)實(shí)現(xiàn),使得Julia可以方便地處理復(fù)雜的數(shù)學(xué)和科學(xué)計(jì)算問題。MATLAB則是一種傳統(tǒng)的函數(shù)式編程語(yǔ)言,不支持多重分派。并行計(jì)算:Julia對(duì)并行計(jì)算提供了更好的支持,可以方便地實(shí)現(xiàn)多線程和分布式計(jì)算。MATLAB也支持并行計(jì)算,但需要用戶手動(dòng)編寫并行代碼。Julia和MATLAB都是面向科學(xué)計(jì)算和數(shù)值分析的高級(jí)語(yǔ)言,但它們之間的差異在于Julia更加現(xiàn)代化和高效,而MATLAB則更加成熟和穩(wěn)定。Julia與其他科學(xué)計(jì)算語(yǔ)言的差異Julia語(yǔ)言與其他科學(xué)計(jì)算語(yǔ)言MATLAB、R、Python等語(yǔ)言的差異主要表現(xiàn)在語(yǔ)言的本質(zhì)、語(yǔ)言的表層語(yǔ)法和語(yǔ)言的生態(tài)等方面的差異。1.5、Julia語(yǔ)言語(yǔ)言本質(zhì)差異—與R語(yǔ)言相比設(shè)計(jì)理念:Julia語(yǔ)言旨在提供一種高性能、高效率的科學(xué)計(jì)算語(yǔ)言,強(qiáng)調(diào)代碼的可讀性和可維護(hù)性。R語(yǔ)言則是一種專門為統(tǒng)計(jì)計(jì)算而設(shè)計(jì)的語(yǔ)言,具有很多專門的統(tǒng)計(jì)計(jì)算函數(shù)和庫(kù)。性能:Julia語(yǔ)言具有非常高的性能,特別是在數(shù)值計(jì)算和科學(xué)計(jì)算方面,比R語(yǔ)言更快。這是因?yàn)镴ulia語(yǔ)言采用即時(shí)編譯技術(shù),能夠動(dòng)態(tài)生成高效的機(jī)器碼,而R語(yǔ)言則是解釋執(zhí)行的。代碼復(fù)雜度:Julia語(yǔ)言相對(duì)來說更加簡(jiǎn)潔,代碼復(fù)雜度較低,這是為了提高代碼的可讀性和可維護(hù)性。相比之下,R語(yǔ)言的代碼復(fù)雜度較高,這是為了方便數(shù)據(jù)分析人員快速實(shí)現(xiàn)統(tǒng)計(jì)計(jì)算任務(wù)。庫(kù)和生態(tài)系統(tǒng):R語(yǔ)言具有非常豐富的統(tǒng)計(jì)計(jì)算函數(shù)和庫(kù),以及龐大的生態(tài)系統(tǒng),非常適合數(shù)據(jù)分析和統(tǒng)計(jì)計(jì)算。Julia語(yǔ)言相對(duì)來說庫(kù)和生態(tài)系統(tǒng)較小,但在數(shù)值計(jì)算和科學(xué)計(jì)算方面有非常強(qiáng)大的庫(kù)和工具支持。Julia語(yǔ)言適合需要高性能、高效率的科學(xué)計(jì)算任務(wù),而R語(yǔ)言適合數(shù)據(jù)分析和統(tǒng)計(jì)計(jì)算任務(wù)。選擇哪種語(yǔ)言主要取決于具體的應(yīng)用場(chǎng)景和需求。1.5、Julia語(yǔ)言語(yǔ)言本質(zhì)差異—與Python語(yǔ)言相比設(shè)計(jì)目的:Julia是一種專注于高性能科學(xué)計(jì)算和數(shù)據(jù)科學(xué)的編程語(yǔ)言,它的設(shè)計(jì)目的是為了提高數(shù)值計(jì)算和科學(xué)計(jì)算的效率和速度。Python則是一種通用編程語(yǔ)言,適用于各種應(yīng)用領(lǐng)域。類型系統(tǒng):Julia是一種動(dòng)態(tài)類型語(yǔ)言,但是它具有靜態(tài)類型語(yǔ)言的優(yōu)點(diǎn),它使用類型推斷來提高程序的性能。Python也是一種動(dòng)態(tài)類型語(yǔ)言,但是類型推斷在Python不重要。性能:Julia的執(zhí)行速度通常比Python快,可以在運(yùn)行時(shí)優(yōu)化代碼。Python通常使用解釋器,通常比編譯語(yǔ)言運(yùn)行慢。生態(tài)系統(tǒng):Python有一個(gè)龐大的生態(tài)系統(tǒng),擁有豐富的庫(kù)和框架,適用于各種應(yīng)用。Julia的生態(tài)系統(tǒng)相對(duì)較小,但是它正在快速增長(zhǎng),擁有一些出色的科學(xué)計(jì)算庫(kù)和工具。Julia和Python都是出色的編程語(yǔ)言,各有優(yōu)缺點(diǎn)。如果需要高性能和數(shù)值計(jì)算能力,Julia更適合,如果需要通用編程和廣泛的生態(tài)系統(tǒng),Python更適合。1.5、Julia語(yǔ)言語(yǔ)言的表層差異語(yǔ)法表層的差異指的是在代碼書寫方式、關(guān)鍵字、語(yǔ)句表達(dá)方式和注釋方式等方面各個(gè)變成語(yǔ)言的不同。具體項(xiàng)JuliaMATLABRPython變量作用域全局/局部作用域全局作用域全局/局部作用域全局/局部作用域延續(xù)代碼行方法不完整的表達(dá)式自動(dòng)延續(xù)符號(hào)...續(xù)行符號(hào)+續(xù)行反斜杠\續(xù)行字符串構(gòu)造符號(hào)雙引號(hào)/三引號(hào)單引號(hào)單引號(hào)/雙引號(hào)單引號(hào)/雙引號(hào)數(shù)組索引使用方括號(hào)A[i,j]使用圓括號(hào)A(i,j)使用方括號(hào)A[i,j]使用方括號(hào)A[i,j]索引整行x[2:end]x(2:)x[2,]x[2:]虛數(shù)單位表示imi或jij冪表示符號(hào)^^^**注釋符號(hào)#%##這些差異需要在學(xué)習(xí)新語(yǔ)言時(shí)重新適應(yīng),但也使得每種語(yǔ)言都有不同的優(yōu)勢(shì)和適用性。上表中列出的是部分差異,具體使用時(shí)還需自行學(xué)習(xí)并適應(yīng)。1.5、Julia語(yǔ)言語(yǔ)言的生態(tài)差異語(yǔ)言生態(tài)的差異是指在定義和使用函數(shù)時(shí),不同編程語(yǔ)言采用的語(yǔ)法、規(guī)則和約定的不同之處。這些差異可以涉及函數(shù)參數(shù)傳遞方式、參數(shù)類型、返回值類型等方面,同時(shí)也可能涉及函數(shù)命名、作用域、遞歸等方面的規(guī)定和約束。JuliaMATLABRPython主要優(yōu)勢(shì)在于速度和易用性。Julia語(yǔ)言具有動(dòng)態(tài)類型、高效的JIT編譯器和基于多重派發(fā)機(jī)制,這使得它能夠在計(jì)算密集型應(yīng)用中表現(xiàn)出色。Julia語(yǔ)言的生態(tài)系統(tǒng)雖然較為年輕,但已經(jīng)有了許多非常好的包和庫(kù),包括DataFrames.jl、Distributions.jl、Plots.jl和JuMP.jl等。主要優(yōu)勢(shì)在于易用性和廣泛的功能。MATLAB語(yǔ)言有很多內(nèi)置的函數(shù)和工具箱,可以用于數(shù)據(jù)可視化、圖像處理、信號(hào)處理、人工智能和控制系統(tǒng)等方面。MATLAB語(yǔ)言的生態(tài)系統(tǒng)非常成熟,有大量的第三方工具箱可供選擇。除此之外,MATLAB語(yǔ)言還擁有龐大和活躍的社區(qū)。專為統(tǒng)計(jì)分析和數(shù)據(jù)可視化而設(shè)計(jì)的語(yǔ)言。它的主要優(yōu)勢(shì)在于統(tǒng)計(jì)分析和圖形繪制方面的豐富功能。R語(yǔ)言的生態(tài)系統(tǒng)非常強(qiáng)大,有許多非常好的包和庫(kù),包括ggplot2、dplyr、tidyr、shiny和caret等。主要優(yōu)勢(shì)在于易用性和生態(tài)系統(tǒng)的豐富性。Python語(yǔ)言的生態(tài)系統(tǒng)非常龐大,有大量的科學(xué)計(jì)算庫(kù)和工具箱可供選擇,包括NumPy、SciPy、pandas、matplotlib、scikit-learn和TensorFlow等。這四種語(yǔ)言都有其獨(dú)特的特點(diǎn)和優(yōu)勢(shì),在不同的應(yīng)用場(chǎng)景中各有所長(zhǎng)一、Julia語(yǔ)言及MWORKS簡(jiǎn)介1.1科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景1.2MWORKS平臺(tái)簡(jiǎn)介1.3MWORKS.Syslab功能簡(jiǎn)介1.4MWORKS.Sysplorer功能簡(jiǎn)介1.5Julia語(yǔ)言簡(jiǎn)介1.2、MWORKS平臺(tái)簡(jiǎn)介MWORKS設(shè)計(jì)與驗(yàn)證平臺(tái)MWORKS是蘇州同元軟控信息技術(shù)有限公司基于國(guó)際知識(shí)統(tǒng)一表達(dá)與互聯(lián)標(biāo)準(zhǔn)打造的系統(tǒng)智能設(shè)計(jì)與仿真驗(yàn)證平臺(tái),是面向數(shù)字工程的新一代科學(xué)計(jì)算與系統(tǒng)建模仿真系統(tǒng),MWORKS提供了機(jī)械、電子、液壓、控制、熱、信息等多領(lǐng)域統(tǒng)一建模仿真環(huán)境,實(shí)現(xiàn)了復(fù)雜裝備數(shù)字化模型標(biāo)準(zhǔn)表達(dá),支持物理系統(tǒng)和信息系統(tǒng)的融合。MWORKS產(chǎn)品定位:系統(tǒng)設(shè)計(jì)仿真驗(yàn)證+科學(xué)計(jì)算與系統(tǒng)建模仿真2.采用基于模型的方法全面支撐系統(tǒng)研制,通過不同層次、不同類型的仿真實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的驗(yàn)證。圍繞系統(tǒng)研制的方案論證、系統(tǒng)設(shè)計(jì)與驗(yàn)證、測(cè)試與運(yùn)維等階段,MWORKS分別提供小回路、大回路和數(shù)字孿生虛實(shí)閉環(huán)等三個(gè)設(shè)計(jì)驗(yàn)證環(huán)路。1.2、MWORKS平臺(tái)簡(jiǎn)介MWORKS設(shè)計(jì)與驗(yàn)證平臺(tái)小回路設(shè)計(jì)驗(yàn)證閉環(huán)70%的設(shè)計(jì)錯(cuò)誤在系統(tǒng)設(shè)計(jì)階段被引入。在論證階段引入小回路設(shè)計(jì)驗(yàn)證閉環(huán),可以實(shí)現(xiàn)系統(tǒng)方案的早期驗(yàn)證,提前暴露系統(tǒng)設(shè)計(jì)缺陷與錯(cuò)誤。基于模型的系統(tǒng)設(shè)計(jì)以用戶需求為輸入,能夠快速構(gòu)建系統(tǒng)初步方案,然后進(jìn)行計(jì)算和多方案比較得到論證結(jié)果,在設(shè)計(jì)早期就實(shí)現(xiàn)多領(lǐng)域系統(tǒng)綜合仿真驗(yàn)證,確保系統(tǒng)架構(gòu)設(shè)計(jì)和系統(tǒng)指標(biāo)分解的合理性。大回路設(shè)計(jì)驗(yàn)證閉環(huán)在傳統(tǒng)研制流程中,80%的問題在實(shí)物集成測(cè)試階段被發(fā)現(xiàn)。引入大回路設(shè)計(jì)驗(yàn)證閉環(huán),通過多學(xué)科統(tǒng)一建模仿真以及聯(lián)合仿真,可以實(shí)現(xiàn)設(shè)計(jì)方案的數(shù)字化驗(yàn)證,利用虛擬試驗(yàn)對(duì)實(shí)物試驗(yàn)進(jìn)行補(bǔ)充和拓展。在系統(tǒng)初步方案基礎(chǔ)上開展細(xì)化設(shè)計(jì),以系統(tǒng)架構(gòu)為設(shè)計(jì)約束,各專業(yè)開展專業(yè)設(shè)計(jì)、仿真,最后回歸到總體,開展多學(xué)科聯(lián)合仿真,驗(yàn)證詳細(xì)設(shè)計(jì)方案的有效性與合理性,開展多學(xué)科設(shè)計(jì)優(yōu)化,實(shí)現(xiàn)正確可靠的設(shè)計(jì)方案。數(shù)字孿生虛擬閉環(huán)在測(cè)試和運(yùn)維階段,構(gòu)建基于Modelica+的數(shù)字孿生模型,實(shí)現(xiàn)對(duì)系統(tǒng)的模擬、監(jiān)控、評(píng)估、預(yù)測(cè)、優(yōu)化、控制,對(duì)傳統(tǒng)的基于實(shí)物試驗(yàn)的測(cè)試驗(yàn)證與基于測(cè)量數(shù)據(jù)的運(yùn)行維護(hù)進(jìn)行補(bǔ)充和拓展。利用系統(tǒng)仿真工具建立產(chǎn)品數(shù)字功能樣機(jī),通過半物理工具實(shí)現(xiàn)與物理產(chǎn)品的同步映射與交互,形成數(shù)字孿生閉環(huán),為產(chǎn)品測(cè)試、運(yùn)維階段提供虛實(shí)融合的研制分析支持。MWORKS產(chǎn)品定位:系統(tǒng)設(shè)計(jì)仿真驗(yàn)證+科學(xué)計(jì)算與系統(tǒng)建模仿真1.2、MWORKS平臺(tái)簡(jiǎn)介MWORKS產(chǎn)品體系信息物理系統(tǒng)建模仿真通用平臺(tái)(Syslab+Sysplorer)各裝備行業(yè)數(shù)字化工程支撐平臺(tái)(Sysbuilder+Sysplorer+Syslink)開放、標(biāo)準(zhǔn)、先進(jìn)的計(jì)算仿真云平臺(tái)(MoHub)1套開放架構(gòu)N個(gè)領(lǐng)域工具4大系統(tǒng)軟件1個(gè)云環(huán)境1.2、MWORKS平臺(tái)簡(jiǎn)介四大系統(tǒng)級(jí)產(chǎn)品系統(tǒng)架構(gòu)設(shè)計(jì)環(huán)境MWORKS.SysbuilderSysbuilder是面向復(fù)雜工程系統(tǒng)的系統(tǒng)架構(gòu)設(shè)計(jì)軟件,以用戶需求作為輸入,按照自頂向下的系統(tǒng)研制流程,以圖形化、結(jié)構(gòu)化、面向?qū)ο蠓绞礁采w系統(tǒng)的需求建模、功能分析、架構(gòu)設(shè)計(jì)、驗(yàn)證評(píng)估過程,通過與Sysplorer的緊密集成,支持用戶在系統(tǒng)設(shè)計(jì)的早期開展方案論證并實(shí)現(xiàn)基于模型的多領(lǐng)域系統(tǒng)綜合分析和驗(yàn)證。科學(xué)計(jì)算環(huán)境MWORKS.SyslabSyslab是蘇州同元軟控信息技術(shù)有限公司面向科學(xué)計(jì)算全新推出的新一代科學(xué)計(jì)算環(huán)境,基于科學(xué)計(jì)算高性能動(dòng)態(tài)高級(jí)程序設(shè)計(jì)語(yǔ)言Julia語(yǔ)言提供交互式編程環(huán)境,提供科學(xué)計(jì)算編程、編譯、調(diào)試和繪圖功能,內(nèi)置支持矩陣等數(shù)學(xué)運(yùn)算、符號(hào)計(jì)算、信號(hào)處理、通信工具箱,支持用戶開展科學(xué)計(jì)算、數(shù)據(jù)分析、算法設(shè)計(jì),并進(jìn)一步支持信息物理融合系統(tǒng)的設(shè)計(jì)、建模與仿真分析。系統(tǒng)建模仿真環(huán)境MWORKS.Sysplorer在測(cè)試和運(yùn)維階段,構(gòu)建基于Modelica+的數(shù)字孿生模型,實(shí)現(xiàn)對(duì)系統(tǒng)的模擬、監(jiān)控、評(píng)估、預(yù)測(cè)、優(yōu)化、控制,對(duì)傳統(tǒng)的基于實(shí)物試驗(yàn)的測(cè)試驗(yàn)證與基于測(cè)量數(shù)據(jù)的運(yùn)行維護(hù)進(jìn)行補(bǔ)充和拓展。利用系統(tǒng)仿真工具建立產(chǎn)品數(shù)字功能樣機(jī),通過半物理工具實(shí)現(xiàn)與物理產(chǎn)品的同步映射與交互,形成數(shù)字孿生閉環(huán),為產(chǎn)品測(cè)試、運(yùn)維階段提供虛實(shí)融合的研制分析支持。協(xié)同建模與模型數(shù)據(jù)管理環(huán)境MWORKS.SyslinkSyslink是面向協(xié)同設(shè)計(jì)與模型管理的基礎(chǔ)平臺(tái),是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平臺(tái)簡(jiǎn)介系列工具箱科學(xué)計(jì)算:DifferentialEquationsLightGraphs......圖形與圖像處理:PlotsImages......人工智能:FluxKnet......優(yōu)化算法:OptimDistributions......計(jì)算機(jī)科學(xué):CUDAParallelAccelerator......生物學(xué):BioPhyloNetworks......同元官方工具箱TyBase(基礎(chǔ)工具箱)TyMath(數(shù)學(xué)工具箱)TyPlot(圖形工具箱)TyImages(圖像工具箱)TyGeoGraphics(地圖圖工具箱)TySymbolicMath(符號(hào)數(shù)學(xué)工具箱)TyCurveFitting(曲線擬合工具箱)TySingalProcessing(信號(hào)處理工具箱)TyCommunication(通信工具箱)TyDSP(DSP系統(tǒng)工具箱)TyControlSystem(控制系統(tǒng)工具箱)TyOptimization(優(yōu)化工具箱)TyStatistics(統(tǒng)計(jì)工具箱)開源生態(tài)工具箱Julia擁有豐富的開源生態(tài)資源,更多行業(yè)工具箱詳見:/1.2、MWORKS平臺(tái)簡(jiǎn)介系列模型庫(kù)通用基礎(chǔ)庫(kù)專業(yè)組件庫(kù)行業(yè)系統(tǒng)庫(kù)行業(yè)應(yīng)用庫(kù)發(fā)動(dòng)機(jī)庫(kù)電池庫(kù)車輛電子庫(kù)動(dòng)力性經(jīng)濟(jì)性庫(kù)熱管理庫(kù)車輛動(dòng)力學(xué)庫(kù)GNC庫(kù)航天電氣庫(kù)液體動(dòng)力庫(kù)固體動(dòng)力庫(kù)航天環(huán)控庫(kù)雷達(dá)設(shè)備庫(kù)飛控系統(tǒng)庫(kù)飛機(jī)液壓庫(kù)起落架庫(kù)航空發(fā)動(dòng)機(jī)庫(kù)飛行動(dòng)力學(xué)庫(kù)燃油系統(tǒng)庫(kù)汽車動(dòng)力庫(kù)剎車系統(tǒng)庫(kù)車輛控制庫(kù)變速箱庫(kù)車輛動(dòng)力學(xué)庫(kù)反應(yīng)堆庫(kù)蒸汽給水庫(kù)燃燒系統(tǒng)庫(kù)發(fā)電機(jī)庫(kù)項(xiàng)目復(fù)用級(jí)模型庫(kù)……基礎(chǔ)組件庫(kù)傳動(dòng)組件庫(kù)多體系統(tǒng)庫(kù)氣動(dòng)組件庫(kù)氣動(dòng)元件庫(kù)液壓組件庫(kù)液壓元件庫(kù)熱液壓組件庫(kù)燃料電池庫(kù)電機(jī)庫(kù)液壓介質(zhì)庫(kù)氣動(dòng)介質(zhì)庫(kù)接口庫(kù)1.2、MWORKS平臺(tái)簡(jiǎn)介MWORKS產(chǎn)品體系信息物理系統(tǒng)建模仿真通用平臺(tái)(Syslab+Sysplorer)各裝備行業(yè)數(shù)字化工程支撐平臺(tái)(Sysbuilder+Sysplorer+Syslink)開放、標(biāo)準(zhǔn)、先進(jìn)的計(jì)算仿真云平臺(tái)(MoHub)1套開放架構(gòu)N個(gè)領(lǐng)域工具4大系統(tǒng)軟件1個(gè)云環(huán)境一、Julia語(yǔ)言及MWORKS簡(jiǎn)介1.1科學(xué)計(jì)算與系統(tǒng)建模仿真應(yīng)用場(chǎng)景1.2MWORKS平臺(tái)簡(jiǎn)介1.3MWORKS.Syslab功能簡(jiǎn)介1.4MWORKS.Sysplorer功能簡(jiǎn)介1.5Julia語(yǔ)言簡(jiǎn)介1.3、MWORKS.Syslab功能簡(jiǎn)介新一代科學(xué)計(jì)算環(huán)境,性能優(yōu)于對(duì)標(biāo)軟件MWORKS成為全球第四個(gè)科學(xué)計(jì)算與建模仿真一體化平臺(tái)Syslab與Sysplorer無縫融合支持CPS建模仿真提供數(shù)學(xué)、信號(hào)、通信、DSP系統(tǒng)、控制、統(tǒng)計(jì)、優(yōu)化等自主工具箱MWORKS.Syslab基于科學(xué)計(jì)算高性能動(dòng)態(tài)高級(jí)程序設(shè)計(jì)語(yǔ)言Julia提供完整的交互式編程環(huán)境的完備功能,支持通用編程、科學(xué)計(jì)算、數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、信號(hào)處理、通訊仿真、并行計(jì)算等功能。1.3、MWORKS.Syslab功能簡(jiǎn)介六大功能:交互式編程環(huán)境科學(xué)計(jì)算函數(shù)庫(kù)計(jì)算數(shù)據(jù)可視化庫(kù)開發(fā)與管理與系統(tǒng)建模環(huán)境深度融合完善的中文幫助系統(tǒng)1.交互式編程環(huán)境:Syslab開發(fā)環(huán)境提供了便于用戶使用的Syslab函數(shù)和專業(yè)化的工具箱,其中許多工具是具有圖形化的接口。它是一個(gè)集成的用戶工作空間,允許用戶直接輸入輸出數(shù)據(jù),并通過資源管理器、代碼編輯器、命令行窗口、工作空間、窗口管理等編程環(huán)境和工具,提供功能完備、強(qiáng)大的交互式編程、調(diào)試與運(yùn)行環(huán)境,提高了用戶的工作效率。1.3、MWORKS.Syslab功能簡(jiǎn)介2.科學(xué)計(jì)算函數(shù)庫(kù):Syslab是包含大量計(jì)算算法的集合,擁有上千個(gè)算數(shù)運(yùn)算、線性代數(shù)、矩陣與數(shù)組運(yùn)算、插值、數(shù)值積分與微分方程、傅里葉變換與濾波、符號(hào)計(jì)算、曲線擬合、信號(hào)處理、通信等豐富的高質(zhì)量、高性能科學(xué)計(jì)算函數(shù)和工程計(jì)算函數(shù),可以方便用戶直接調(diào)用而不需要另行編程,幾乎能夠解決大部分學(xué)科中的數(shù)學(xué)問題。初等數(shù)學(xué)線性代數(shù)矩陣論隨機(jī)數(shù)學(xué)插值微分方程求解傅里葉分析稀疏矩陣數(shù)論符號(hào)對(duì)象創(chuàng)建基本符號(hào)運(yùn)算符號(hào)方程求解符號(hào)表達(dá)式推導(dǎo)化簡(jiǎn)、代換線性和非線性回歸插值平滑處理擬合后處理樣條處理描述性統(tǒng)計(jì)量統(tǒng)計(jì)可視化連續(xù)分布離散分布多元分布分布檢驗(yàn)位置檢驗(yàn)散度檢驗(yàn)線性規(guī)劃混合整數(shù)線性規(guī)劃非線性規(guī)劃二次規(guī)劃二階錐規(guī)劃最小二乘非線性方程組求解基礎(chǔ)數(shù)學(xué)庫(kù)327個(gè)符號(hào)數(shù)學(xué)庫(kù)476個(gè)曲線擬合庫(kù)85個(gè)統(tǒng)計(jì)庫(kù)465個(gè)優(yōu)化庫(kù)21個(gè)全局優(yōu)化庫(kù)21個(gè)遺傳算法多目標(biāo)遺傳算法粒子群算法模擬退火算法帕累托搜索算法模式搜索算法差分進(jìn)化算法1.3、MWORKS.Syslab功能簡(jiǎn)介階梯圖區(qū)域圖箱線圖三維線圖二維線圖誤差條圖散點(diǎn)圖直方圖條形圖散點(diǎn)圖矩陣三維散點(diǎn)圖帕累托圖餅圖文字云熱圖極坐標(biāo)圖極坐標(biāo)中的直方圖填充的等高線圖三維等高線圖曲面圖等高線圖極坐標(biāo)中的散點(diǎn)圖地理氣泡圖對(duì)數(shù)坐標(biāo)軸可視化矩陣的稀疏模式三維條形圖水平條形圖網(wǎng)格曲面圖創(chuàng)建笛卡爾坐標(biāo)區(qū)填充多邊形區(qū)域矩形分塊圖從圖形文件讀取圖像3.計(jì)算數(shù)據(jù)可視化:Syslab具有豐富的圖形處理功能和方便的數(shù)據(jù)可視化功能,能夠?qū)⑾蛄亢途仃囉脠D形表現(xiàn)出來,并且可以對(duì)圖形進(jìn)行顏色、光照、紋理、透明性等設(shè)置以產(chǎn)生高質(zhì)量的圖形。利用Syslab繪圖,用戶不需要過多地考慮繪圖過程中的細(xì)節(jié),只需要給出一些基本參數(shù)就能夠利用內(nèi)置的大量易用的二維和三維繪圖函數(shù)繪制圖形。內(nèi)置圖形工具箱,提供三類36種圖形合計(jì)171個(gè)常用繪圖函數(shù)。1.3、MWORKS.Syslab功能簡(jiǎn)介注冊(cè)庫(kù):已注冊(cè)工具箱開發(fā)庫(kù):本地工具箱函數(shù)庫(kù)的開發(fā)與測(cè)試通過包管理器,管理注冊(cè)庫(kù)與開發(fā)庫(kù),點(diǎn)擊刷新即可查看注冊(cè)庫(kù)和開發(fā)庫(kù)。4.庫(kù)開發(fā)與管理:支持函數(shù)庫(kù)的注冊(cè)管理、依賴管理、加載卸載、版本切換,同時(shí)提供函數(shù)庫(kù)開發(fā)規(guī)范,以支持用戶自定義函數(shù)庫(kù)的開發(fā)與測(cè)試。1.3、MWORKS.Syslab功能簡(jiǎn)介信息域物理域網(wǎng)絡(luò)計(jì)算軟件物理組件環(huán)境模型機(jī)械電氣流體熱磁測(cè)試測(cè)量......人工智能基于方程面向?qū)ο蠖囝I(lǐng)域統(tǒng)一Algorithm算法Function函數(shù)數(shù)據(jù)科學(xué)控制算法......5.與系統(tǒng)建模環(huán)境深度融合:Syslab與系統(tǒng)建模環(huán)境Sysplorer之間實(shí)現(xiàn)了雙向深度融合,優(yōu)勢(shì)互補(bǔ),形成新一代科學(xué)計(jì)算與系統(tǒng)建模仿真平臺(tái)。1.3、MWORKS.Syslab功能簡(jiǎn)介5.與系統(tǒng)建模環(huán)境深度融合Sysplorer是面向多領(lǐng)域工業(yè)產(chǎn)品的系統(tǒng)級(jí)綜合設(shè)計(jì)與仿真驗(yàn)證環(huán)境,完全支持多領(lǐng)域統(tǒng)一建模規(guī)范Modelica,遵循現(xiàn)實(shí)中拓?fù)浣Y(jié)構(gòu)的層次化建模方式,支撐MBSE應(yīng)用。然而,在解決現(xiàn)代科學(xué)和工程技術(shù)實(shí)際問題過程中,用戶往往需要一個(gè)支持腳本開發(fā)和調(diào)試的環(huán)境,通過腳本驅(qū)動(dòng)系統(tǒng)建模仿真環(huán)境,實(shí)現(xiàn)科學(xué)計(jì)算與系統(tǒng)建模仿真過程的自動(dòng)化運(yùn)行;同時(shí)也需要一個(gè)面向現(xiàn)代信息物理融合系統(tǒng)的設(shè)計(jì)、建模與仿真環(huán)境,支持基于模型的CPS開發(fā)。科學(xué)計(jì)算環(huán)境Syslab與系統(tǒng)建模環(huán)境Sysplorer實(shí)現(xiàn)了雙向深度融合。兩者優(yōu)勢(shì)互補(bǔ),形成新一代科學(xué)計(jì)算與系統(tǒng)建模仿真平臺(tái)。1.3、MWORKS.Syslab功能簡(jiǎn)介1個(gè)基礎(chǔ)環(huán)境16個(gè)工具箱2500+函數(shù)幫助支持分類主題(文檔、示例、…)支持全局搜索支持在線部署支持集成用戶幫助文檔6.完善的中文幫助系統(tǒng):提供完整易用的中文幫助系統(tǒng),用戶可以通過查詢幫助系統(tǒng),獲取函數(shù)的調(diào)用情況和需要的信息。43MWORKS軟件安裝部署軟件下載鏈接:同元軟控官網(wǎng):https://www.tongyuan.cc/許可證申請(qǐng)地址:https://www.tongyuan.cc/license運(yùn)行環(huán)境配置類型最低規(guī)格推薦規(guī)格說明CPU1GHz2核2GHz4核主頻越高,軟件運(yùn)行速度越快內(nèi)存8GB8GB實(shí)際需要的內(nèi)存取決于科學(xué)計(jì)算復(fù)雜度存儲(chǔ)10GB100GB用于存儲(chǔ)模型及其仿真結(jié)果顯示分辨率1024×7682560×1440操作系統(tǒng)Windows1064位Windows1064位磁盤C盤C盤提供一套Syslab客戶端倉(cāng)庫(kù),包含圖形庫(kù)、圖像庫(kù)、數(shù)學(xué)庫(kù)等開發(fā)庫(kù)以及Julia常用庫(kù)。Syslab客戶端倉(cāng)庫(kù)統(tǒng)一路徑為“C:\Users\Public\TongYuan\.julia”。確定電腦有C盤。44MWORKS.Syslab軟件安裝部署安裝步驟:MWORKS.Syslab2023a安裝包為iso光盤映像文件。其中data文件夾為相關(guān)資源文件,包括Julia倉(cāng)庫(kù)等;.exe文件為MWORKS.Syslab安裝程序;PDF文件為安裝與配置說明書。45科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹46科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹Tab頁(yè)工具欄47科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹左側(cè)邊欄48科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹資源管理器49科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹調(diào)試控制臺(tái)調(diào)試50科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹表格樹展示區(qū)工具欄按鈕51科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹編輯器窗口52科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹命令行窗口53科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹工作區(qū)窗口54科學(xué)計(jì)算環(huán)境—MWORKS.Syslab界面介紹編輯器布局窗口的顯示與隱藏55科學(xué)計(jì)算環(huán)境—MWORKS.SyslabJulia
REPL的幾種模式具有全功能的交互式命令行(Read-Eval-PrintLoop,REPL)REPL環(huán)境可以實(shí)時(shí)與用戶交互自動(dòng)讀取用戶輸入的表達(dá)式自動(dòng)求解,并顯示求解結(jié)果Package模式Help模式Shell模式Julia模式緊挨命令提示符輸入“]”進(jìn)入緊挨命令提示符輸入“?”進(jìn)入緊挨命令提示符輸入“;”進(jìn)入科學(xué)計(jì)算環(huán)境—MWORKS.SyslabJulia模式REPL中最常見的模式,也是默認(rèn)情況下的操作模式。運(yùn)算結(jié)果綁定到變量ans每行尾隨分號(hào)可以作為標(biāo)識(shí)符抑制顯示結(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í)例,例如查詢類型、變量、函數(shù)、方法、類和工具箱等。REPL環(huán)境在搜索并顯示完成相關(guān)文檔后自動(dòng)切回至Julia模式。5657科學(xué)計(jì)算環(huán)境—MWORKS.SyslabPackage模式—文本操作用來管理程序包,用于識(shí)別加載或更新程序包的命令,例如add、rm、update。安裝新的程序包—add(@v1.7)pkg>addMLJ移除已安裝的程序包—rm(@v1.7)pkg>rmMLJ更新已安裝的程序包—update(@v1.7)pkg>updateMLJ表示Julia語(yǔ)言的特性版本也可以一次性安裝、移除或更新多個(gè)程序包,Package模式還支持更多命令,可自行學(xué)習(xí):/v1/可視化操作包管理器→注冊(cè)庫(kù)→添加注冊(cè)包①②③搜索包安裝/移除/更新包④安裝/移除/更新成功科學(xué)計(jì)算環(huán)境—MWORKS.Syslab注意事項(xiàng)工具箱下載慢,可在首選項(xiàng)中使用國(guó)內(nèi)鏡像源。預(yù)編譯出錯(cuò)時(shí),可能是依賴的某些第三方工具箱版本不匹配,需用手動(dòng)安裝依賴工具箱。操作步驟:首選項(xiàng)中,關(guān)閉系統(tǒng)映像文件安裝第三方依賴工具箱(addDiffEqBase@6.100)安裝第三方工具箱(Flux,Image,ImagesView等)構(gòu)建映像首選項(xiàng)中,勾選系統(tǒng)映像文件(@v1.7)pkg>addDiffEqBase@6.100可在pkg模式下鍵入“st”查看所有工具箱的版本號(hào)5859Syslab與Sysplorer的雙向融合使用前準(zhǔn)備:在Syslab工具欄中點(diǎn)擊Sysplorer,自動(dòng)打開Sysplorer軟件并加載Modelica3.2.3模型庫(kù)出現(xiàn)SyslabWorkspace。注意事項(xiàng):如不能打開Sysplorer軟件,則需要確認(rèn)Syslab首選項(xiàng)中Sysplorer可執(zhí)行文件路徑是否正確Syslab和Sysplorer均需2022版以上Sysplorer軟件編譯器為64位60Syslab與Sysplorer的雙向融合ToWorkspace:Sysplorer的仿真結(jié)果發(fā)送至Syslab工作區(qū)中ToWorkspace子庫(kù)中包含4個(gè)組件,分別為:ToWorkspace_Scale:輸出為標(biāo)量數(shù)據(jù)ToWorkspace_Vector:輸出為一維數(shù)組ToWorkspace_Matrix:輸出為矩陣ToWorkspace_3D_Array:輸出為三維數(shù)組FromWorkspace:Sysplorer從Syslab工作區(qū)中讀取數(shù)據(jù)fromWorkspace子庫(kù)中包含5個(gè)組件,分別為:fromWorkspace_Scale:獲取標(biāo)量數(shù)據(jù)fromWorkspace_Vector:獲取一維數(shù)組fromWorkspace_Matrix:獲取二維數(shù)組fromWorkspace_3D_Array:獲取三維數(shù)組fromWorkspaceTimeTable:獲取表格矩陣,并通過線性插值來生成(可能是不連續(xù)的)信號(hào)61Syslab與Sysplorer的雙向融合Syslab調(diào)用SysplorerAPI類別命令接口含義系統(tǒng)命令ClearScreen清空命令窗口SaveScreen保存命令窗口內(nèi)容至文件ChangeDirectory更改工作目錄ChangeSimResultDirectory更改仿真結(jié)果目錄RunScript執(zhí)行腳本文件GetLastErrors獲取上一條命令的錯(cuò)誤信息ClearAll移除所有模型Echo打開或關(guān)閉命令執(zhí)行狀態(tài)的輸出Exit退出MWorks.Sysplorer文件命令OpenModelFile加載指定的Modelica模型文件LoadLibrary加載Modelica模型庫(kù)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移除最后一個(gè)結(jié)果ImportInitial導(dǎo)入初值文件ExportInitial導(dǎo)出初值文件GetInitialValue獲取變量初值SetInitialValue設(shè)置變量初值ExportResult導(dǎo)出結(jié)果文件SetCompileSolver64設(shè)置翻譯時(shí)編譯器平臺(tái)位數(shù)GetCompileSolver64獲取翻譯時(shí)編譯器平臺(tái)位數(shù)SetCompileFmu64設(shè)置fmu導(dǎo)出時(shí)編譯器平臺(tái)位數(shù)GetCompileFmu64獲取fmu導(dǎo)出時(shí)編譯器平臺(tái)位數(shù)這些命令的統(tǒng)一調(diào)用格式均為:Sysplorer.命令接口名稱62Syslab與Sysplorer的雙向融合類別命令接口含義曲線命令CreatePlot按指定的設(shè)置創(chuàng)建曲線窗口Plot在最后一個(gè)窗口中繪制指定變量的曲線RemovePlots關(guān)閉所有曲線窗口ClearPlot清除曲線窗口中的所有曲線ExportPlot曲線導(dǎo)出動(dòng)畫命令CreateAnimation新建動(dòng)畫窗口RemoveAnimations關(guān)閉所有動(dòng)畫窗口RunAnimation播放動(dòng)畫StopAnimation停止動(dòng)畫播放AnimationSpeed設(shè)置動(dòng)畫播放速度類別命令接口含義模型對(duì)象操作命令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模塊實(shí)現(xiàn)。SyslabGlobalConfig:用于進(jìn)行Julia全局聲明,可以導(dǎo)入包及全局變量聲明等。當(dāng)創(chuàng)建了SyslabGlobalConfig組件后,單擊右鍵選擇“Syslab初始化配置…”選項(xiàng)可以在Syslab中打開編輯器,編寫全局聲明的Julia腳本。SyslabFunction:用于嵌入Julia函數(shù),并將SyslabFunction模塊的輸入和輸出數(shù)據(jù)指定為參數(shù)和返回值。Sysplorer仿真過程中每運(yùn)行一步都會(huì)調(diào)用該Julia函數(shù)。對(duì)于SyslabFunction組件而言,單擊右鍵選擇“編輯Syslab腳本函數(shù)…”選項(xiàng)可以在Syslab中打開編輯器編寫Julia腳本。SyslabFunction組件認(rèn)為腳本中的第一個(gè)函數(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)的變量符號(hào)。注意事項(xiàng)二、Julia語(yǔ)言基礎(chǔ)語(yǔ)法2.1基本數(shù)據(jù)類型2.2數(shù)組2.3集合容器2.4數(shù)學(xué)運(yùn)算和初等函數(shù)2.5
流程控制2.1、基本數(shù)據(jù)類型Julia語(yǔ)言中定義了多種基本的數(shù)據(jù)類型,包括數(shù)值型、字符型和邏輯型等。Julia內(nèi)部的所有數(shù)據(jù)類型都是按照數(shù)組的形式進(jìn)行存儲(chǔ)和運(yùn)算的,同時(shí),Julia支持不同數(shù)據(jù)類型間的轉(zhuǎn)換,增加了數(shù)據(jù)處理的靈活性。2.1.1變量變量賦值:與其他動(dòng)態(tài)類型語(yǔ)言一樣,Julia無需提前聲明變量類型,可以直接創(chuàng)建。julia>a="Hello,World""Hello,World"julia>print(a)Hello,Worldjulia>b
=
11julia>x#x未定義ERROR:UndefVarError:xnotdefined一般形式:x=val注意:輸入變量名則會(huì)顯示該變量的值Julia中不會(huì)自動(dòng)創(chuàng)建變量2.1、基本數(shù)據(jù)類型2.1.1變量變量的命名規(guī)則:英文,規(guī)則如下:區(qū)分大小寫;不能以數(shù)字開頭;變量與函數(shù)名建議用下劃線分隔;類與模塊首字母建議大寫,駝峰式;中文:不推薦使用Unicode字符:輸入某個(gè)LaTeX符號(hào)(比如\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)識(shí)符可以被其他代碼直接引用的一個(gè)區(qū)域,超出該區(qū)域,這個(gè)標(biāo)識(shí)符在默認(rèn)的情況下是不可見的。Julia語(yǔ)言中作用域:全局作用域、局部作用域。根據(jù)作用域?qū)⒆兞糠譃椋喝肿兞俊⒕植孔兞?。結(jié)構(gòu)作用域baremodule、module全局struct全局for、while、try全局或局部macro全局let、function、comprehensions、generators全局或局部2.1、基本數(shù)據(jù)類型變量的類型:Julia有Any類型和Union{}類型兩個(gè)特殊類型以及抽象類型(abstracttypes)、原始類型(primitivetypes)、復(fù)合類型(compositetypes)三種主要類型。Any類型:唯一的頂層類型,是所有類型的直接超類型或間接超類型。Union{}類型:是所有相關(guān)類型的子類型。Union{Types…},Types…代表任意個(gè)類型參數(shù),多個(gè)時(shí)用逗號(hào)隔開,可以把多個(gè)類型聯(lián)合成一個(gè)類型,并讓后者作為前者的同一代表,因此又稱聯(lián)合類型。抽象類型:不能被實(shí)例化,只能作為類型圖中的節(jié)點(diǎn)使用,從而描述由相關(guān)具體類型組成的集合,為具體類型提供默認(rèn)實(shí)現(xiàn)原始類型:是一種具體類型,其數(shù)據(jù)是由簡(jiǎn)單的位組成。原始類型的經(jīng)典示例是整數(shù)和浮點(diǎn)數(shù)。復(fù)合類型:也是一種具體類型,在各種語(yǔ)言中被稱為record、struct和object。2.1.1變量2.1、基本數(shù)據(jù)類型2.1.2整數(shù)與浮點(diǎn)數(shù)整數(shù)類型:類型是否帶符號(hào)比特?cái)?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超出一個(gè)類型可表示的范圍會(huì)導(dǎo)致環(huán)繞無符號(hào)整數(shù)會(huì)使用0x為前綴的十六進(jìn)制來表示可以使用T()進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換minmax2.1、基本數(shù)據(jù)類型2.1.2整數(shù)與浮點(diǎn)數(shù)浮點(diǎn)類型:用于表示小數(shù)類型精度比特?cái)?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說明:浮點(diǎn)數(shù)的默認(rèn)類型取決于電腦系統(tǒng)是32位還是64位浮點(diǎn)數(shù)可以用科學(xué)記數(shù)法表示使用“f”替代“e”或Float32()可以得到Float32的浮點(diǎn)數(shù)半精度一般采用軟件模擬,性能較差,不推薦使用2.1、基本數(shù)據(jù)類型2.1.2整數(shù)與浮點(diǎn)數(shù)特殊浮點(diǎn)數(shù):正零、負(fù)零、正無窮、負(fù)無窮、NaNFloat16Float32Float64名稱描述Inf16Inf32Inf正無窮大于所有有限浮點(diǎn)數(shù)的值-Inf16-Inf32-Inf負(fù)無窮大于所有有限浮點(diǎn)數(shù)的值NaN16NaN32NaN非數(shù)不等于任何浮點(diǎn)數(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ù)類型任意精度計(jì)算:BigInt和BigFloat分別提供了任意精度的整數(shù)和浮點(diǎn)數(shù)julia>typemax(Int64)+1#超限-9223372036854775808julia>BigInt(typemax(Int64))+1#擴(kuò)位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可使用以下語(yǔ)句對(duì)數(shù)值進(jìn)行擴(kuò)位:BigInt(x)或BigFloat(x)big""minmaxminmax2.1.2整數(shù)與浮點(diǎn)數(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如果為變量名稱時(shí)則錯(cuò)誤一般形式: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)行計(jì)算復(fù)數(shù)運(yùn)算的結(jié)果必為復(fù)數(shù)系數(shù)的優(yōu)先級(jí)比除法的優(yōu)先級(jí)更高:3/4im==3/(4*im)==-(3/4)im復(fù)數(shù)的運(yùn)算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í)數(shù)可以直接運(yùn)算1.5+2.0imjulia>(-1+2im)^2.5#復(fù)數(shù)指數(shù)運(yùn)算2.729624464784009-6.9606644595719imjulia>2im^2#復(fù)數(shù)求解的結(jié)果還是復(fù)數(shù)-2+0imjulia>1+3/4im#4im的優(yōu)先級(jí)最高1.0-0.75im2.1、基本數(shù)據(jù)類型2.1.3復(fù)數(shù)和有理數(shù)復(fù)數(shù)的初等函數(shù)使用julia>real(1+2im)#取實(shí)部1julia>imag(1+2im)#取虛部2julia>conj(1+2im)#求復(fù)共軛1-2imjulia>abs(1+2im)#求絕對(duì)值2.23606797749979julia>abs2(1+2im)#取絕對(duì)值的平方5julia>angle(1+2im)#取相位角1.1071487177940904julia>cos(1+2im)2.0327230070196656-3.0518977991517997imjulia>exp(1+2im)-1.1312043837568135+2.4717266720048188im說明:復(fù)數(shù)的絕對(duì)值(abs)是從零點(diǎn)到它的距離abs2給出絕對(duì)值的平方所有其他的初等函數(shù)在復(fù)數(shù)上都可使用關(guān)鍵字描述real實(shí)部imag虛部conj復(fù)共軛abs絕對(duì)值abs2取平方后的絕對(duì)值angle以弧度為單位的相位角sqrt開根號(hào)cos求余弦exp指數(shù)運(yùn)算sinh雙曲正弦函數(shù)運(yùn)算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,但是要對(duì)負(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)化如果一個(gè)分?jǐn)?shù)的分子和分母含有公因子,它們會(huì)被約分到最簡(jiǎn)形式且分母非負(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ùn)算:“//”優(yōu)先級(jí)高于所有運(yùn)算符(除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)先級(jí)最高2//7+4//7*imjulia>1//2+2im#1//2優(yōu)先級(jí)最高1//2+2//1*imjulia>1+2//3im#3im優(yōu)先級(jí)最高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)換為合適的浮點(diǎn)數(shù)類型,且完全相等除a==0且b==0時(shí),任意整數(shù)值a,b從分?jǐn)?shù)到浮點(diǎn)數(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表示單個(gè)字符,用單引號(hào)包圍String表示字符串,用雙引號(hào)或三引號(hào)包圍Char不等于Stringjulia>'x'#Char類型'x':ASCII/UnicodeU+0078(categoryLl:Letter,lowercase)julia>typeof('x')Charjulia>"中"#String類型"中"julia>typeof("中")Stringjulia>print("""中國(guó):"歡迎你"。""")中國(guó):"歡迎你"。#字符串中使用引號(hào),最外側(cè)需要使用"""julia>typeof(ans)Stringjulia>'x'=="x"#不同類型false字符與字符串運(yùn)算:基于Unicode代碼進(jìn)行運(yùn)算julia>'A'<'a'#Char值比較,Int64('A')=65,Int64('a')=97truejulia>'x'-'a'#Char值有限運(yùn)算,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字符和字符串獲取長(zhǎng)度函數(shù)描述ncodeunits()字符串中特定位置代碼單元值sizeof()數(shù)據(jù)或數(shù)據(jù)類型比特?cái)?shù)length()字符串的字符數(shù)julia>length(example1)#計(jì)算example1中的字符數(shù)20julia>length(“J”)#計(jì)算example1中字符“J”的字符數(shù)1julia>length(“編”)#計(jì)算example1中字符“編”的字符數(shù)1julia>example1[1:16]#顯示example1中第1到第16個(gè)字符"科學(xué)計(jì)算語(yǔ)言"julia>length(example1,1,16)#計(jì)算example1中第1到第16個(gè)字符的字符數(shù)6julia>example1=“科學(xué)計(jì)算語(yǔ)言Julia與MWORKS實(shí)踐“#定義一個(gè)示例example1"科學(xué)計(jì)算語(yǔ)言Julia與MWORKS實(shí)踐"julia>ncodeunits(example1)#計(jì)算example1中的單元值38#漢字占有3個(gè)單元值,字母占有一個(gè)單元值julia>sizeof(example1)#計(jì)算example1中的比特?cái)?shù)38julia>sizeof(“J”)#計(jì)算example1中字符“J”的比特?cái)?shù)1julia>sizeof(“科”)#計(jì)算example1中字符“科”的比特?cái)?shù)3julia>ncodeunits(“科”)#計(jì)算example1中字符“科”的占據(jù)的單元值3說明:ncodeunits、sizeof,這兩個(gè)函數(shù)應(yīng)用于采用UTF-8編碼的字符串相當(dāng)于獲取其中字節(jié)的數(shù)量。2.1、基本數(shù)據(jù)類型2.1.4字符和字符串索引函數(shù)描述firstindex()第一個(gè)元素的索引值lastindex()最后一個(gè)元素的索引值說明:字符串的索引是從1開始的可以使用end及begin進(jìn)行運(yùn)算begin表示為1,end表示為字符串長(zhǎng)度end÷2結(jié)果不為整數(shù)時(shí),采用去尾法取證下標(biāo)小于開頭begin(1)或者大于結(jié)尾end都會(huì)導(dǎo)致錯(cuò)誤字符串的索引可使用范圍來索引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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 師范生頂崗實(shí)習(xí)報(bào)告匯編五篇
- 加入學(xué)生會(huì)自我介紹15篇
- 某建筑公司安全生產(chǎn)文明目標(biāo)及措施
- 2025年部編版新教材語(yǔ)文一年級(jí)下冊(cè)第七單元教案
- 動(dòng)物生理學(xué)-第十二章-生殖生理課件
- 后備干部培養(yǎng)工作參考計(jì)劃
- 個(gè)人租車給公司合同協(xié)議范本
- 個(gè)人房屋租賃合同書模板
- 2025年醫(yī)護(hù)管理通訊裝置項(xiàng)目發(fā)展計(jì)劃
- 2025年水性色漿項(xiàng)目發(fā)展計(jì)劃
- 金融科技概論教案
- 車位租給別人安裝充電樁協(xié)議
- GB/T 44127-2024行政事業(yè)單位公物倉(cāng)建設(shè)與運(yùn)行指南
- 2025屆云南省昆明盤龍區(qū)聯(lián)考九年級(jí)英語(yǔ)第一學(xué)期期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 物流運(yùn)輸管理實(shí)務(wù)(第2版)高職物流管理專業(yè)全套教學(xué)課件
- 金融服務(wù)居間合同協(xié)議
- 招標(biāo)代理機(jī)構(gòu)選取質(zhì)量保障方案
- jgj94-94建筑樁基技術(shù)規(guī)范
- 歐美電影文化智慧樹知到期末考試答案2024年
- 眼科醫(yī)院績(jī)效考核方案
- 預(yù)繳物業(yè)費(fèi)感恩回饋活動(dòng)方案
評(píng)論
0/150
提交評(píng)論