




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
答案1科學計算語言有哪些?如何分類?科學計算語言可以分為商用科學計算語言和開放式科學計算語言兩大類。目前在國際上有三種最具影響的商用科學計算語言,分別是TheMathWorks公司的MATLAB語言、WolframResearch公司的Mathematica語言和WaterlooMaple公司的Maple語言;有影響的開放式科學計算語言包括Scilab、Octave、Python和Julia。什么是動態(tài)語言?動態(tài)語言的優(yōu)勢和劣勢分別是什么?動態(tài)語言是高級程序設計語言的一個類別,在計算機科學領(lǐng)域已被廣泛應用。它是一類在運行時可以改變其結(jié)構(gòu)的語言,例如新的函數(shù)、對象、甚至代碼可以被引進,已有的函數(shù)可以被刪除或是其他結(jié)構(gòu)上的變化。動態(tài)語言的優(yōu)點是在開發(fā)效率方面有著無與倫比的優(yōu)勢,用戶只需關(guān)注對象的行為,而不關(guān)注對象本身;其缺點是運行效率低下。Julia語言有什么優(yōu)勢?為什么選擇Julia語言?Julia在語言設計方面具有先進性Julia由傳統(tǒng)動態(tài)語言的專家們設計,在語法上追求與現(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)化到非常高的性能,而不需要涉及“兩語言”工作流問題,即在一門高級語言上進行建模,然后將性能瓶頸轉(zhuǎn)移到一門低級語言上重新實現(xiàn)后進行接口封裝。Julia是最適合構(gòu)建數(shù)字物理系統(tǒng)的語言Julia語言是一種與系統(tǒng)建模和數(shù)字孿生技術(shù)緊密融合的計算機語言,相比通用編程語言,Julia為功能模型的表示和仿真提供了高級抽象;相比專用商業(yè)工具或文件格式,Julia更具開放性和靈活性。Julia語言與MATLAB、Python和C語言相比有什么異同?Julia語言與其它科學計算語言如MATLAB、R、Python等語言的差異主要表現(xiàn)在語言的本質(zhì)、語言的表層語法和語言函數(shù)用法等方面的差異。Julia和MATLAB都是面向科學計算和數(shù)值分析的高級語言,但它們之間的差異在于Julia更加現(xiàn)代化和高效,而MATLAB則更加成熟和穩(wěn)定。Julia語言適合需要高性能、高效率的科學計算任務,而R語言適合數(shù)據(jù)分析和統(tǒng)計計算任務。選擇哪種語言主要取決于具體的應用場景和需求。Julia和Python都是出色的編程語言,各有優(yōu)缺點。如果需要高性能和數(shù)值計算能力,Julia更適合,如果需要通用編程和廣泛的生態(tài)系統(tǒng),Python更適合。MWORKS提供了哪三個設計驗證閉環(huán)?小回路設計驗證閉環(huán)在傳統(tǒng)研制流程中,70%的設計錯誤在系統(tǒng)設計階段被引入。在論證階段引入小回路設計驗證閉環(huán),可以實現(xiàn)系統(tǒng)方案的早期驗證,提前暴露系統(tǒng)設計缺陷與錯誤?;谀P偷南到y(tǒng)設計以用戶需求為輸入,能夠快速構(gòu)建系統(tǒng)初步方案,然后進行計算和多方案比較得到論證結(jié)果,在設計早期就實現(xiàn)多領(lǐng)域系統(tǒng)綜合仿真驗證,確保系統(tǒng)架構(gòu)設計和系統(tǒng)指標分解的合理性。大回路設計驗證閉環(huán)在傳統(tǒng)研制流程中,80%的問題在實物集成測試階段被發(fā)現(xiàn)。引入大回路設計驗證閉環(huán),通過多學科統(tǒng)一建模仿真以及聯(lián)合仿真,可以實現(xiàn)設計方案的數(shù)字化驗證,利用虛擬試驗對實物試驗進行補充和拓展。在系統(tǒng)初步方案基礎(chǔ)上開展細化設計,以系統(tǒng)架構(gòu)為設計約束,各專業(yè)開展專業(yè)設計、仿真,最后回歸到總體,開展多學科聯(lián)合仿真,驗證詳細設計方案的有效性與合理性,開展多學科設計優(yōu)化,實現(xiàn)正確可靠的設計方案。數(shù)字孿生虛擬閉環(huán)在測試和運維階段,構(gòu)建基于Modelica+的數(shù)字孿生模型,實現(xiàn)對系統(tǒng)的模擬、監(jiān)控、評估、預測、優(yōu)化、控制,對傳統(tǒng)的基于實物試驗的測試驗證與基于測量數(shù)據(jù)的運行維護進行補充和拓展。利用系統(tǒng)仿真工具建立產(chǎn)品數(shù)字功能樣機,通過半物理工具實現(xiàn)與物理產(chǎn)品的同步映射與交互,形成數(shù)字孿生閉環(huán),為產(chǎn)品測試、運維階段提供虛實融合的研制分析支持。Syslab提供了哪些基本功能?與Sysplorer組成了什么平臺?Syslab提供了交互式編程環(huán)境、科學計算函數(shù)庫、計算數(shù)據(jù)可視化、庫開發(fā)與管理、與系統(tǒng)建模環(huán)境的深度融合和中文幫助系統(tǒng)六個基本功能,與Sysplorer形成新一代科學計算與系統(tǒng)建模仿真平臺。答案2簡述Syslab的主要功能。交互式編程環(huán)境Syslab開發(fā)環(huán)境提供了便于用戶使用的Syslab函數(shù)和專業(yè)化的工具箱,其中許多工具是具有圖形化的接口。它是一個集成的用戶工作空間,允許用戶直接輸入輸出數(shù)據(jù),并通過資源管理器、代碼編輯器、命令行窗口、工作空間、窗口管理等編程環(huán)境和工具,提供功能完備的交互式編程、調(diào)試與運行環(huán)境,提高了用戶的工作效率。科學計算函數(shù)庫Syslab是包含大量計算算法的集合,擁有上千個算數(shù)運算、線性代數(shù)、矩陣與數(shù)組運算、插值、數(shù)值積分與微分方程、傅里葉變換與濾波、符號計算、曲線擬合、信號處理、通信等豐富的高質(zhì)量、高性能科學計算函數(shù)和工程計算函數(shù),可以方便用戶直接調(diào)用而不需要另行編程。計算數(shù)據(jù)可視化Syslab具有豐富的圖形處理功能和方便的數(shù)據(jù)可視化功能,能夠?qū)⑾蛄亢途仃囉脠D形表現(xiàn)出來,并且可以對圖形進行顏色、光照、紋理、透明性等設置以產(chǎn)生高質(zhì)量的圖形。利用Syslab繪圖,用戶不需要過多地考慮繪圖過程中的細節(jié),只需要給出一些基本參數(shù)就能夠利用內(nèi)置的大量易用的二維和三維繪圖函數(shù)得到所需圖形。庫開發(fā)與管理Syslab支持函數(shù)庫的注冊管理、依賴管理、安裝卸載、版本切換,同時提供函數(shù)庫開發(fā)規(guī)范,以支持用戶自定義函數(shù)庫的開發(fā)與測試。與系統(tǒng)建模環(huán)境深度融合Syslab與系統(tǒng)建模環(huán)境Sysplorer實現(xiàn)了雙向深度融合,兩者優(yōu)勢互補,形成新一代科學計算與系統(tǒng)建模仿真平臺。中文幫助系統(tǒng)Syslab提供了非常完善的幫助系統(tǒng),用戶可以通過查詢幫助系統(tǒng),獲取函數(shù)的調(diào)用情況和需要的信息。論述腳本文件和函數(shù)文件的區(qū)別。函數(shù)文件與腳本文件的主要區(qū)別在于:函數(shù)文件一般都要帶有參數(shù),都有要返回結(jié)果,而腳本文件沒有參數(shù)與返回結(jié)果;函數(shù)文件的變量是局部變量,運行期間有效,運行完畢后就自動被清除,而腳本文件的變量是全局變量,執(zhí)行完畢后仍被保存在內(nèi)存中;函數(shù)文件要定義函數(shù)名,且保存該函數(shù)文件的文件名必須是函數(shù)名.jl;運行函數(shù)文件前還需先申明該函數(shù)。利用Help模式查詢繪圖函數(shù)plot的幫助文檔。help?>plotsearch:plotplot3plotfitplot3fitplotCCDFplotmatrixfplotgplottplotfplot3ezplotbiplotTyPlotsubplotwblplotcdfplotrgaplottreeplotnormplotbodeplotsigmaplotrlocusplotTyMathPlotplot-二維線圖此Syslab函數(shù)創(chuàng)建Y中數(shù)據(jù)對X中對應值的二維線圖。如果X和Y都是向量,則它們的長度必須相同。plot函數(shù)繪制Y對X的圖。如果X和Y均為矩陣,則它們的大小必須相同。plot函數(shù)繪制Y的列對X的列的圖。如果X或Y中的一個是向量而另一個是矩陣,則矩陣的行數(shù)必須與向量的長度相等。如果矩陣為方陣,則該函數(shù)繪制每一列對向量的圖。如果X或Y之一為標量,而另一個為標量或向量,則plot函數(shù)會繪制離散點。但是,要查看這些點,您必須指定標記符號,例如plot(X,Y,'o')。plot(X,Y)plot(X,Y,Fmt)plot(X1,Y1,...,Xn,Yn)plot(X1,Y1,Fmt1,...,Xn,Yn,Fmtn)plot(Y)plot(Y,Fmt)plot(___,Key=Value)plot(ax,___)h=plot(___)另請參閱gca,hold,legend,loglog,plot3,title,xlabel,xlim,ylabel,ylim,Line屬性plot的文檔(http://localhost:8055/TyPlot/docs/build/lib/二維圖和三維圖/線圖/plot/)plot繪制timeseries此Syslab函數(shù)繪制ts中的timeseries數(shù)據(jù)對時間的圖,從而在樣本之間進行插值。plot(ts)plot(ts,specs)在Sysplorer中利用SyslabFunction模塊編寫Julia腳本。對于SyslabFunction組件而言,單擊右鍵選擇“編輯Syslab腳本函數(shù)…”選項可以在Syslab中打開編輯器編寫Julia腳本。functionfunc1(t)x,y=get_xy(t)returnx,yendfunctionget_xy(t)a=[t,2t]b=[t2t3t;4t5t6t]returna,bend答案3簡述Julia變量名的定義需要符合的條件。解:Syslab變量名的定義需要符合的條件如下:英文,規(guī)則如下:區(qū)分大小寫;不能以數(shù)字開頭;變量與函數(shù)名建議用下劃線分隔;類與模塊首字母建議大寫,駝峰式;中文:不推薦使用Unicode字符:輸入某個LaTeX符號(比如\beta),再敲擊Tab鍵。生成復變量12im,并且提取其實部和虛部。解:程序運行如下:julia>real(1+2im),imag(1+2im)(1,2)在REPL窗口中輸入如下指令,查看相應的運行結(jié)果。解:程序運行如下:julia>A=[123;456;789]3×3Matrix{Int64}:123456789julia>B=[-356;212]2×3Matrix{Int64}:-356212julia>C=[12;34;56]3×2Matrix{Int64}:123456計算A*B,A.*B,并比較兩者的區(qū)別。解:程序運行如下:julia>A=[123;456;789];B=[468;556;322];julia>A*B3×3Matrix{Int64}:23222659617495100122julia>A.*B3×3Matrix{Int64}:41224202536211618根據(jù)程序運行結(jié)果可見,A*B是按照矩陣乘法法則進行計算,A.*B是矩陣對應位置進行相乘。計算表達式e8182log25tan21的值。解:程序運行如下:julia>exp(8)+18^2*log2(5)/tan(21)2488.450341939447計算表達式tanx2arccosx在x0.25和x0.3時的函數(shù)值。解:程序運行如下:#定義函數(shù)functionexpression(x)y=tan(-x^2)*acos(x)returnyend運行結(jié)果:expression(genericfunctionwith1method)julia>expression(0.25)-0.08248969091136954julia>expression(0.3*pi)-0.419297605215162解:程序運行如下:julia>A=[26;-15];B=[1-3;27];julia>A+B2×2Matrix{Int64}:33112julia>5*A2×2Matrix{Int64}:1030-525julia>A*B2×2Matrix{Int64}:1436938julia>A.*B2×2Matrix{Int64}:2-18-235julia>A\B2×2Matrix{Float64}:-0.4375-3.56250.31250.6875julia>A/B2×2Matrix{Float64}:0.1538460.923077-1.307690.153846julia>A./B2×2Matrix{Float64}:2.0-2.0-0.50.714286編寫函數(shù),計算1!2!20!。解:程序運行如下:#定義函數(shù)functionjieCheng(n_start,n_end)sum=0fori=n_start:n_endy=factorial(i)#調(diào)用求階乘的函數(shù)sum=sum+yendreturnsumend運行結(jié)果:jieCheng(genericfunctionwith1method)julia>jieCheng(1,20)2561327494111820313編寫一個轉(zhuǎn)換成績等級的程序,其中成績等級轉(zhuǎn)換標準為:考試分數(shù)在90,100的記為A+;分數(shù)在80,90的記為A;分數(shù)在60,80的記為B;分數(shù)在0,60的記為C。解:程序運行如下:#定義函數(shù)functionscore_convert(score)ifscore<0||score>100println("輸入的成績有誤,請輸入0-100區(qū)間的分數(shù)")elseifscore>=90&&score<=100println("成績等級:A+")elseifscore>=80&&score<90println("成績等級:A")elseifscore>=60&&score<80println("成績等級:B")elseifscore>=0&&score<60println("成績等級:C")endend運行結(jié)果:score_convert(genericfunctionwith1method)julia>score_convert(95)成績等級:A+julia>score_convert(55)成績等級:Cjulia>score_convert(130)輸入的成績有誤,請輸入0-100區(qū)間的分數(shù)julia>jieCheng(1,20)公式求π的近似值,直到某項的絕對值小于106為止。解:程序運行如下:#定義函數(shù)s=0forn=1:(10)^9globalsif(1/(2*n-1))>1e-6#判斷絕對值大小s=s+(1/(2*n-1)*(-1)^(n-1))#求和endendk=4*s運行結(jié)果:3.141590653589692利用for循環(huán)函數(shù)找出0~100之間的所有素數(shù)。解:程序運行如下:#定義函數(shù)prime=Array{Union{Nothing,Int64}}(nothing,1,50)j=1fori=2:100ifisprime(i)globaljprime[1,j]=ij=j+1endendprintln("素數(shù):")prime[1,1:j-1]'運行結(jié)果:素數(shù):1×25adjoint(::Vector{Union{Nothing,Int64}})witheltypeInt64:2357111317192329313741434753596167717379838997答案4創(chuàng)建一個模塊,模塊包含計算求和函數(shù)、平均值函數(shù)、求向量模的函數(shù),調(diào)用模塊及內(nèi)部函數(shù)。創(chuàng)建名稱為“Exercises1”的腳本文件,代碼如下:moduleExercises1exportMySum,MyAvg#求和MySum(x)=sum(x)#求平均值MyAvg(x)=sum(x)/length(x)#求列向量的模Mynorm(x)=sqrt(x'*x)end命令窗口調(diào)用代碼如下:#加載路徑push!(LOAD_PATH,".")usingExercises1a=[3,4];MySum(a)MyAvg(a)Exercises1.Mynorm(a)自定義復合類型,并對復合類型實例化。創(chuàng)建“mycomp”的腳本文件,代碼如下:structmycomps1::Float64s2::String255end實例化代碼如下:ee=mycomp(1.0,"Syslab")創(chuàng)建一個函數(shù)包含3種以上的方法并調(diào)用該函數(shù)。創(chuàng)建名稱為“Exercises3”的腳本文件,代碼如下:functionmy_fun(x)print("Fristmethod\n")endfunctionmy_fun(x::String)print("Secondmethod")endfunctionmy_fun(x::Int64)print("Thirdmethod")endfunctionmy_fun(x::Float64)print("Forthmethod")end命令窗口調(diào)用代碼如下:my_fun("Syslab")my_fun(1)my_fun(2.0)my_fun([1,2])創(chuàng)建一個宏包含3種以上的方法并調(diào)用該宏。創(chuàng)建名稱為“Exercises4”的腳本文件,代碼如下:macromac(s1::Int64)return:((println("Firstmethod:theinputis",$s1)))endmacromac(s1::Float64)return:((println("Secondmethod:theinputis",$s1)))endmacromac(s1::String)return:((println("Thirdmethod:theinputis",$s1)))endmacromac(s1)return:((println("Forthmethod:theinputis",$s1)))end命令窗口調(diào)用代碼如下:@mac(1)@mac(1.0)@mac("Syslab")@mac([1,2])在Syslab中調(diào)用自定義C++動態(tài)鏈接庫求數(shù)組最大值:exercise4.h文件:#pragmaonce#ifndef_ADD_H#define_ADD_Hextern"C"__declspec(dllexport)doubleGetSum(doublex[],intnum);#endif//!_ADD_Hexercise4.cpp文件:#include"pch.h"#include"exercise4.h"#include<math.h>doubleGetSum(doublex[],intnum){ inti; doublemaxnum=0.0; for(i=0;i<num;++i) { if(x[i]>maxnum) maxnum=x[i]; } returnmaxnum;}Syslab調(diào)用程序代碼如下:lib="C:\\Users\\...\\exercise4\\x64\\Debug\\exercise4"#動態(tài)庫路徑usingLibdl#加載庫lib_path=joinpath("C:\\Users\\...\\exercise4\\x64\\Debug\\exercise4")lib=Libdl.dlopen(lib_path)#獲取調(diào)用函數(shù)的符號GetSum=Libdl.dlsym(lib,:GetSum)a=[1,4,5];a=Vector{Float64}(a)#調(diào)用函數(shù)c=@ccall$GetSum(a::Ptr{Cdouble},3::Cint)::Cdouble#關(guān)閉dllLibdl.dlclose(lib)在Syslab中調(diào)用以下Python文件:defTest(s):returnsum(s)以上程序的文件名為“pyfun1.py”:defTest(s):returnsum(s)調(diào)用Python文件代碼如下:usingPyCallfunctionset_python_path(path::AbstractString)py"""importsysdefset_path(path):ifpathnotinsys.path:sys.path.append(path)"""py"set_path"(path)end#將路徑添加到Python工作目錄中println(@__DIR__)_set_python_path(@__DIR__)#查看sys.pathpyimport("sys").path#導入python文件@pyimportpyfun1asmyfunc#調(diào)用python接口myfunc.Test([1,2,3])答案51、在區(qū)間內(nèi),繪制和的曲線,將兩條曲線繪制在同一坐標系中,第一條曲線格式指定為紅色虛線,線寬為2磅,第二條曲線格式指定為藍色實線,線寬為2磅。x=-2*pi:pi/10:2*piy1=3*x+cos.(x)y2=3*x+sin.(x)plot(x,y1,"--r",x,y2,"-r";linewidth=2)圖SEQ圖\*ARABIC1第一題答案圖2、自變量定義為,和定義為關(guān)于的正弦和余弦向量,繪制、和的三維曲線,并設置圖像的標題、軸、軸和軸的標簽。t=0:pi/50:10*pist=sin.(t)ct=cos.(t)plot3(st,ct,t)title("螺旋線")xlabel("st=sin(t)")ylabel("ct=cos(t)")zlabel("t")圖SEQ圖\*ARABIC2第二題答案圖3、定義為0到間具有均勻間隔的12個點,定義為,每個數(shù)據(jù)點處顯示長度不等的誤差條。x=LinRange(0,2*pi,12)y=cos.(2*x)err=rand(size(y,1))errorbar(x,y,err)圖SEQ圖\*ARABIC3第三題答案圖4、繪制半對數(shù)圖,定義為一個由區(qū)間[1,100]內(nèi)的100個具有均勻間隔的點組成的向量,定義為。繪制和,調(diào)用grid()函數(shù)顯示網(wǎng)格線并向數(shù)據(jù)點添加文本說明。x=LinRange(1,100,100)y=x.^2semilogy(x,y)grid("on")text(10,100,raw"$\leftarrowx.^2$")圖SEQ圖\*ARABIC4第四題答案圖5、創(chuàng)建矩陣,依據(jù)矩陣創(chuàng)建水平條形圖。水平條形圖以25為基準值顯示值,小于25的值顯示在基線左側(cè),大于25的值顯示在基線右側(cè)。y=[81533;303540;505562]barh(y,basevalue=25)圖SEQ圖\*ARABIC5第五題答案圖6、在同一坐標系中繪制兩個針狀圖。定義為0到間的50個點,定義為;定義為到間的50個點,定義為,且要求對應針狀圖要填充終止針狀圖的圓。x1=LinRange(0,2*pi,50)x2=LinRange(pi,3*pi,50)y1=cos.(x1)y2=0.5*sin.(x2)stem(x1,y1)hold("on")stem(x2,y2,filled=true)圖SEQ圖\*ARABIC6第六題答案圖7、將1000個隨機數(shù)劃分到16個組中并繪制直方圖。x=randn(1000)histogram(x,16)圖SEQ圖\*ARABIC7第七題答案圖8、創(chuàng)建為0到間的100個等間距值。創(chuàng)建為帶隨機量的正弦值。根據(jù)和創(chuàng)建散點圖,填充標記,并向散點圖中任一數(shù)據(jù)添加數(shù)據(jù)提示。x=LinRange(0,2*pi,100)y=sin.(x)+rand(100)sc=scatter(x,y;filled=true)a=x[50]b=y[50]datatip(sc,a,b);圖SEQ圖\*ARABIC8第八題答案圖9、創(chuàng)建向量,依據(jù)向量繪制餅圖,并通過設置explode元素偏移第三塊餅圖扇區(qū)。x=[5,8,10,4,6]pie(x,explode=[0,0,0.1,0,0])圖SEQ圖\*ARABIC9第九題答案圖10、創(chuàng)建向量,利用meshgrid2函數(shù)創(chuàng)建二維網(wǎng)格返回矩陣和。定義。繪制、和的三維曲面圖,并設置圖像透明度為0.5。X,Y=meshgrid2(-5:0.5:5,-5:0.5:5)Z=Y.*sin.(X)-X.*cos.(Y)s=surf(X,Y,Z;alpha=0.5)圖SEQ圖\*ARABIC10第十題答案圖11、利用peaks()函數(shù)繪制二維等高線圖。要求等高線圖包含10條等高線。X,Y,Z=peaks()con=contour(X,Y,Z,10)圖SEQ圖\*ARABIC11第十一題答案圖12、創(chuàng)建一個復數(shù)值向量。使用羽狀圖顯示這些復數(shù)值。實部確定每個箭頭的分量,虛部確定分量。Z=[2+3im-1-3im-1+im2im3-4im-2-2im-2+4im0.5-im-3im1+im];feather(Z)圖SEQ圖\*ARABIC12第十二題答案圖13、利用極坐標繪圖函數(shù)ezpolar()函數(shù)繪制笛卡爾心形圖figure()ezpolar(t->1-sin(t))圖SEQ圖\*ARABIC13第十三題答案圖MACROBUTTONMTEditEquationSection2SEQMTEqn\r\hSEQMTSec\r1\hSEQMTChap\r1\h答案61.設雙自由度系統(tǒng)如圖6-24所示,試建立基礎(chǔ)位移引起的振動位移的響應。已知兩個質(zhì)量塊的質(zhì)量分別為、,兩個阻尼器的阻尼系數(shù)分別為,兩個彈簧的彈性模量分別為、。圖6-24雙自由度系統(tǒng)建立雙自由系統(tǒng)的數(shù)學模型為 將數(shù)值代入,簡化后得 對式GOTOBUTTONZEqnNum219431REFZEqnNum219431\*Charformat\!(2)中的兩個方程取拉普拉斯變換,得 由式GOTOBUTTONZEqnNum467650REFZEqnNum467650\*Charformat\!(3)中第二式解得 將式GOTOBUTTONZEqnNum988455REFZEqnNum988455\*Charformat\!(4)代入式GOTOBUTTONZEqnNum467650REFZEqnNum467650\*Charformat\!(3)的第一式,得 整理后得 即 則可得雙自由系統(tǒng)的傳遞函數(shù)為 建立雙自由度系統(tǒng)的數(shù)學模型后,使用控制系統(tǒng)工具箱中的函數(shù)命令構(gòu)造相應模型分析基礎(chǔ)位移引起的振動位移的響應。利用Syslab求解系統(tǒng)的狀態(tài)空間方程:num=[5,15,10]den=[1,16,32,15,10]A,B,C,D=tf2ss(num,den)G=ss(A,B,C,D)運行結(jié)果為A=-16.0-32.0-15.0-10.01.00.00.00.00.01.00.00.00.00.01.00.0B=1.00.00.00.0C=0.05.015.010.0D=0.0連續(xù)時間狀態(tài)空間模型求解式GOTOBUTTONZEqnNum727453REFZEqnNum727453\*Charformat\!(8)傳遞函數(shù)的零點和極點:sys_tf=tf(G)sys_zpk=zpk(G)r,p,k=residue(num,den)運行結(jié)果為(1.0s+2.0000000000000013)(1.0s+0.9999999999999976)5.0--------------------------------------------------------------------------------------------(1.0s+13.747883799019652)(1.0s+1.9077926911948915)(1.0s^2+0.344323509785451s+0.3812702916574071)連續(xù)時間傳遞函數(shù)模型julia>r4×1Matrix{ComplexF64}:0.17650320307673503-0.28001958852835407im0.17650320307673503+0.28001958852835407im-0.01050763901627602-1.0037764413489501e-17im-0.34249876713719407+6.781239485763239e-17imjulia>p4-elementVector{ComplexF64}:-0.1721617548927255-0.5929845038528951im-0.1721617548927255+0.5929845038528951im-1.9077926911948915+0.0im-13.747883799019652+0.0im由Syslab運行結(jié)果可得雙自由系統(tǒng)的零極點模型為 留數(shù)模型為 通過施加單位階躍分析雙自由度系統(tǒng)的響應結(jié)果step(G,40)xlim([040])ylim([01.5])xlabel("Time(s)",fontname="TimesNewRoman",fontsize=10)ylabel("Amplitude",fontname="TimesNewRoman",fontsize=10)title("StepResponse",fontname="TimesNewRoman",fontsize=10)階躍響應結(jié)果如圖2所示。圖1階躍響應結(jié)果2.對于1000Hz采樣的數(shù)據(jù),設計一個低通濾波器,在0~40Hz的通帶中波紋不超過3dB,在阻帶中衰減至少60dB,求濾波器的階數(shù)和截止頻率。#采樣頻率fs=1000#通帶截止頻率Wp=40*2/fs#阻帶截止頻率Ws=150*2/fs#通帶紋波Rp=3;#阻帶衰減Rs=60#計算濾波器的階數(shù)和截止頻率n,Wn=buttord(Wp,Ws,Rp,Rs)運行結(jié)果為:(5,0.08103849495776429)因此,濾波器的階數(shù)為5,截止頻率為0.0810385。3.設某二進制數(shù)字通信系統(tǒng)的碼元傳輸速率為100bps,系統(tǒng)的采樣速率為1000Hz,比較信號經(jīng)過高斯白噪聲信道前后的不同。#采樣頻率fs=1000#采樣時間t=0:(1/fs):1#生成正弦信號x=sin.(2*pi*100*2*t)#調(diào)制信號,載波頻率為50Hzy,=modulate(x,50,fs,"amssb")#通過信噪比為10dB的AWGN信道rng=MT19937ar(1234)out=awgn(rng,y,10,"measured")figure("經(jīng)過高斯白噪聲信道前后的信號",facecolor="white")plot(t,[yout])legend(["OriginalSignal","SignalwithAWGN"])運行結(jié)果為:圖2經(jīng)過高斯白噪聲信道前后的信號答案7求函數(shù)在附近的零點。usingTyOptimizationf(t)=0.23*t-exp(-t)*sin(t)t0=(2-0.01,2+0.01)result=fzero(f,t0)println("計算結(jié)果:t=",result.x)運行結(jié)果為:計算結(jié)果:t=1.2117284685861966求下列方程的的數(shù)值解。usingTyOptimizationfunctionfun(x)returnsin(x[1])+x[2]^2+log(x[3])-7,3*x[1]+2*x[2]-x[3]^3+1,x[1]+x[2]+x[3]-5endx0=[0,0,1]result=fsolve(fun,x0)println("計算結(jié)果:x=",result.x)println("目標函數(shù)值:f(x)=",result.fun)運行結(jié)果為:計算結(jié)果:x=[5.36334723322567,-2.6405590951394315,2.277211861586341]目標函數(shù)值:f(x)=[6.503079399422518e-7,-6.495512572257667e-8,-3.2742075717351327e-10]已知當時,函數(shù)的值,對采用不同的方法進行插值。functionLagrange(x0,y0,x)n=length(x0)m=length(x)y=zeros(size(x))foriin1:mz=x[i]s=0.0forkin1:np=1.0forjin1:nifj!=kp=p*(z-x0[j])/(x0[k]-x0[j])endends=p*y0[k]+sendy[i]=sendreturnyendx=0:0.2:2y=zeros(size(x,1),1)fori=1:size(x,1)y[i,1]=(x[i]^2-3*x[i]+5)*exp(-3*x[i])*sin(x[i])endxq=0:0.03:2yq1=Lagrange(x,y,xq)yq2=NewtonInterp(x,y,xq)figure("插值",facecolor="white")plot(x,y,"o",markeredgecolor="k",markerfacecolor="#FFFF00")hold("on")plot(xq,yq1,"-",color=[0,0.4470,0.7410],linewidth=1.5)plot(xq,yq2,"-.",color=[0.9290,0.6940,0.1250],linewidth=1.5)xlabel("數(shù)據(jù)點");ylabel("插值結(jié)果");legend(["原數(shù)據(jù)點","拉格朗日插值法","牛頓插值法"])運行結(jié)果為:圖1插值結(jié)果有3組正態(tài)分布的隨機數(shù)據(jù),每組20個數(shù)據(jù),其均值為10,均方差為2,求置信度為95%和99%的置信區(qū)間和參數(shù)估計值。rng=mt19937ar(1234);r=normrnd(rng,10,2,20,3);muHat1=zeros(3,1);sigmaHat1=zeros(3,1)muHat2=zeros(3,1);sigmaHat2=zeros(3,1)muCI1=zeros(3,2);sigmaCI1=zeros(3,2);muCI2=zeros(3,2);sigmaCI2=zeros(3,2);fori=1:3muHat1[i,1],sigmaHat1[i,1],muCI1[i,:],sigmaCI1[i,:]=normfit(r[:,i],0.05,nargout=4)muHat2[i,1],sigmaHat2[i,1],muCI2[i,:],sigmaCI2[i,:]=normfit(r[:,i],0.01,nargout=4)end運行結(jié)果為:julia>muHat13×1Matrix{Float64}:10.5824630245771879.7322595807421210.06327254533023julia>sigmaHat13×1Matrix{Float64}:1.3102652925168182.468023904223211.9292125380267298julia>muCI13×2Matrix{Float64}:9.9692411.19578.5771910.88739.1603710.9662julia>sigmaCI13×2Matrix{Float64}:0.9964441.913741.876913.604731.467152.81775julia>muHat23×1Matrix{Float64}:10.5824630245771879.7322595807421210.06327254533023julia>sigmaHat23×1Matrix{Float64}:1.3102652925168182.468023904223211.9292125380267298julia>muCI23×2Matrix{Float64}:9.7442511.42078.153411.31118.8291111.2974julia>sigmaCI23×2Matrix{Float64}:0.919482.183141.731944.112181.353833.21442某工廠生產(chǎn)甲、乙兩種產(chǎn)品,已知生產(chǎn)1噸產(chǎn)品甲需要原料A4噸,原料B4m3;生產(chǎn)1噸產(chǎn)品乙,需要原料A1噸,原料B6m3,原料C7個單位。若1噸產(chǎn)品甲和1噸產(chǎn)品乙的經(jīng)濟價值分別為8萬元和5萬元,3種原料的限制量分別為90噸、220m3和240個單位,試分析分別生成甲、乙兩種產(chǎn)品各多少噸可以使創(chuàng)造的總經(jīng)濟價值最高?由題意可建立下面整數(shù)規(guī)劃問題:編寫Syslab程序為:usingTyOptimizationf0=[8;5];intcon=[2]A=[41;46;07];b=[90;220;240]result=intlinprog(-f0,intcon,A,b)println("優(yōu)化問題的解:",result.x)println("目標函數(shù)的值:",result.fun)運行結(jié)果為:優(yōu)化問題的解:[16.0,26.0]目標函數(shù)的值:-258.0綜上,當甲、乙兩種產(chǎn)品分別生產(chǎn)16噸和26噸時,可以使創(chuàng)造的總經(jīng)濟價值最高,為258萬元。求下列函數(shù)在初始點(0,1)處的最優(yōu)解。usingTyOptimizationx0=[0;1]f(x)=x[1]^2+x[2]^2-x[1]*x[2]-2*x[1]-5*x[2]ineq(x)=[x[2]-(x[1]-1)^2;6+2*x[1]-3*x[2]]constraints=[ineq_cons(ineq)]result=fmincon(f,x0,constraints)println("優(yōu)化結(jié)果:x=",result.x)println("目標函數(shù)值:f(x)=",result.fun)運行結(jié)果為:優(yōu)化結(jié)果:x=[3.0000000097839536,3.999999970195355]目標函數(shù)值:f(x)=-12.999999999999993答案7求函數(shù)在附近的零點。usingTyOptimizationf(t)=0.23*t-exp(-t)*sin(t)t0=(2-0.01,2+0.01)result=fzero(f,t0)println("計算結(jié)果:t=",result.x)運行結(jié)果為:計算結(jié)果:t=1.2117284685861966求下列方程的的數(shù)值解。usingTyOptimizationfunctionfun(x)returnsin(x[1])+x[2]^2+log(x[3])-7,3*x[1]+2*x[2]-x[3]^3+1,x[1]+x[2]+x[3]-5endx0=[0,0,1]result=fsolve(fun,x0)println("計算結(jié)果:x=",result.x)println("目標函數(shù)值:f(x)=",result.fun)運行結(jié)果為:計算結(jié)果:x=[5.36334723322567,-2.6405590951394315,2.277211861586341]目標函數(shù)值:f(x)=[6.503079399422518e-7,-6.495512572257667e-8,-3.2742075717351327e-10]已知當時,函數(shù)的值,對采用不同的方法進行插值。functionLagrange(x0,y0,x)n=length(x0)m=length(x)y=zeros(size(x))foriin1:mz=x[i]s=0.0forkin1:np=1.0forjin1:nifj!=kp=p*(z-x0[j])/(x0[k]-x0[j])endends=p*y0[k]+sendy[i]=sendreturnyendx=0:0.2:2y=zeros(size(x,1),1)fori=1:size(x,1)y[i,1]=(x[i]^2-3*x[i]+5)*exp(-3*x[i])*sin(x[i])endxq=0:0.03:2yq1=Lagrange(x,y,xq)yq2=NewtonInterp(x,y,xq)figure("插值",facecolor="white")plot(x,y,"o",markeredgecolor="k",markerfacecolor="#FFFF00")hold("on")plot(xq,yq1,"-",color=[0,0.4470,0.7410],linewidth=1.5)plot(xq,yq2,"-.",color=[0.9290,0.6940,0.1250],linewidth=1.5)xlabel("數(shù)據(jù)點");ylabel("插值結(jié)果");legend(["原數(shù)據(jù)點","拉格朗日插值法","牛頓插值法"])運行結(jié)果為:圖1插值結(jié)果有3組正態(tài)分布的隨機數(shù)據(jù),每組20個數(shù)據(jù),其均值為10,均方差為2,求置信度為95%和99%的置信區(qū)間和參數(shù)估計值。rng=mt19937ar(1234);r=normrnd(rng,10,2,20,3);muHat1=zeros(3,1);sigmaHat1=zeros(3,1)muHat2=zeros(3,1);sigmaHat2=zeros(3,1)muCI1=zeros(3,2);sigmaCI1=zeros(3,2);muCI2=zeros(3,2);sigmaCI2=zeros(3,2);fori=1:3muHat1[i,1],sigmaHat1[i,1],muCI1[i,:],sigmaCI1[i,:]=normfit(r[:,i],0.05,nargout=4)muHat2[i,1],sigmaHat2[
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設置公司銷售管理制度
- 設計后續(xù)服務管理制度
- 診所醫(yī)保設備管理制度
- 診所藥品查驗管理制度
- 試驗樣品分區(qū)管理制度
- 財務管理制度管理制度
- 財政保障垂直管理制度
- 貨場人車分離管理制度
- 貨運電梯處罰管理制度
- 房產(chǎn)買賣改造協(xié)議書范本
- 工廠計件考勤管理制度
- JG/T 446-2014建筑用蓄光型發(fā)光涂料
- 人文關(guān)懷在護理工作中的意義
- 2024北京初三一模英語匯編:材料作文
- T/CCMA 0137-2022防撞緩沖車
- GB/T 20854-2025金屬和合金的腐蝕循環(huán)暴露在鹽霧、“干”和“濕”條件下的加速試驗
- 麻風病知識講座課件
- 江蘇省2025年中職職教高考文化統(tǒng)考數(shù)學試題答案
- 氨區(qū)作業(yè)安全培訓課件
- 2025內(nèi)蒙古中考:生物必背知識點
- 國有資產(chǎn)管理清查報告編寫指南
評論
0/150
提交評論