版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
MatrixVBMatrixVBMATLABVisualBasic語言的混合編程技術(shù)。VBMatrixVBVBMatrixVBMATLABVisuaMATLABC/C++、FortranVsiualBasic語言的接口,要想實現(xiàn)MATLABVisualBasic的混合編程能夠通過下列途徑來實現(xiàn)。通過ActiveX方式VBVCActiveXMATLAB來說集成與調(diào)用方式是同5MATLABActiveX的客戶端使用辦法。二是在VB環(huán)境下能夠通過ActiveX自動化接口將MATLABVisualBasic語言的一種ActiveX部件調(diào)用。MATLABActiveXMATLAB工作空間執(zhí)行MATLAB5MATLAB作為服務(wù)器VisualBasicMATLAB作為服務(wù)器客戶端的。MATLAB中.MMATLAB環(huán)境,運VBMatrixVBMatrixVB是由第三方(mathtools公司)COMMATLAB相似的函數(shù)與VBVBVB自己MatrixVBMATLABVisualBasic中完畢矩陣運算與圖形繪制顯示等功效,這種辦法使用起來簡樸,編程效率較高。MatrixVB函數(shù)庫的功3DDEVBMATLABMatrixV環(huán)境設(shè)立在VB應(yīng)用中引入安裝8.8MWindows95WindowsNT4.0在安裝盤上找到然后在“開始→運行”regsvr32mMatrix.dll7-17-1注冊VB開發(fā)環(huán)境并建立“原則EXE”7-27-2EXE單擊“打開”7-37-3VBproject下拉菜單中單擊References,在彈出的對話框中選中MMatrix項目,系統(tǒng)將加載MatrixVBMMatrix.DLL7-4所示。7-4MatrixVBVBMatrixVMatrixVBVB中能夠直接在開發(fā)環(huán)境的“立刻窗口”MATLAB命Windows選項在開發(fā)環(huán)境中得到“立刻窗口”7-5所示。7-5VB例如,在“立刻窗口”7-6所示。7-6VB立刻窗口中產(chǎn)生矩陣MatrixVBFigure17-77-77-87-8Form1Click44PrivateSubCommand1_Click()A=eye(4,4)End7-97-9VBMatrixVBMatrixVBClick事件解決過PrivateSubCommand1_Click()End7-107-10MatrixVBCOM服務(wù)器,因此必須在操作系統(tǒng)中注冊后方可使用,注冊時可使用以下命令行語句:regsvr32如果目的操作系統(tǒng)是Windows95,還必須公布另外兩個OpenGL文獻即opengl32.dll與glu32.dllWindows98/Me/NT4/等環(huán)境下,則不需要安裝這些文獻。MatrixV的矩陣操作matricVBVBdouble類型。VBMatrixVMATLABVBMATLABVARIANTDimxAsVBMatrixVB通過函數(shù)mabs轉(zhuǎn)化為MatrixVB的矩VBmabsMatrixVB的矩陣,格式為:MATRIXVB_MATRIXMatrixVBMATLAB窗口中那樣,不需要事先定義,VB_ARRAYVBVB常量與變量。7-8commandClick事件的解決過程代碼為:PrivateSubCommand1_Click()DimA(1to3,1to3)AsdoubleDimi,jAsintegerfori=1To3forj=1ToA.showEndVBAmabsMatrixVB矩B并將其顯示出來。7-117-11mabsMatrixVB通過MatrixVB340VB支持的兩種類型為MatrixVariant3×40矩陣。DimmatAsMatrixDimxAsVariantSetmat=zeros(3,4) '賦值為3×4的0矩陣Setx=zeros(3,4) '賦值為3×4的0矩陣通過函數(shù)CreateMatrixCreateMatrix(p1p2…pnp1,p2,…,pn為矩陣的值。ReshapeCreateMatrix所創(chuàng)立的函數(shù)的維數(shù),格式為:XCreateMatrix創(chuàng)立的矩陣,rows為指定的行數(shù),cols為指定的列數(shù),337-127-12CreateMatrixMatrixVBMatrixVB矩陣,但是這種方式只能對矩陣元素進行寫操作,其格式猶VB的數(shù)組元素同樣,例如:A是一種二維矩陣則下列代碼:ij1MatrixVBrN、iNX中的每個元素的實部和虛部,其中NMatrixVBAa=A.r1(i+1)讀操作Ai12i+1VBa。BiN的方式來訪問。X.simpleMatrixVBXVBX為只有一種元素的矩陣狀XVBDouble類型,如:DimSAsDoubleshowMatrixviwer窗口顯示矩陣內(nèi)容的功效,格式為:rows()、cols()、dims()、dimension(n)n維數(shù)的個數(shù)VBintegerA,下面的VB中的變量。 d=dimension(1) commandClick事件的解決過程。代碼為:PrivateSubCommand1_Click()'MatrixVBDimxrAsdoubleDimxiAsdoubleDimiAsintegerDimrowAsintegerDimcolAsintegerDimdimsAsintegerA=zeros(333列的零矩陣fori=1To3forj=1Toxr=A.r2(2,2)22列的值Print行數(shù)為:";Printrow;Print列數(shù)為:";Printcol;PrintPrintEndcommand17-137-147-137-14vbsave命令將矩陣寫入磁盤文獻中,并將數(shù)據(jù)文獻中保存的文獻讀到程序中。語法格式分vbsavefilenamevariableAmagic.txtBvbsave"magic.txt"ADos方式打開,如:DimfidAsVariantDimAAsVariantDimBAsVariantA=magic(4)fid=fopen("one.txt","w")Callfprintf(fid,"%g\n",A)Callfscanf(fid,"%g\n",B)fclose(fid)5MatrixVB來實現(xiàn),并增加矩陣的行列式運算,LUProject1StandardEXE7-157-15VB7.27-167-167-17-1 DimmatAsVariantDimiAsIntegerDimjAsFormLoadPrivateSubSetmatzeros(4,4)4×4Combo1.AddItem"轉(zhuǎn)置"Combo1.AddItem"逆矩陣"Combo1.AddItem"特性值"Combo1.AddItem"LU分解"Combo1.AddItem"SVD分解"Combo1.AddItem"行列式"i=j=1EndSubCommand2Click事件解決過程編寫代碼。PrivateSubCommand2_Click()DimrowAsIntegerDimcolAsIntegerDimtempAsDoubleLabel1.Caption="目前行,列為"&CStr(i)&","&CStr(j)mat(ij)CDbl(Text1.Text)mat中temp=CDbl(Text1.Text)Printtemp;'4時輸出結(jié)束IfjMod4=0Theni=i+j=1j=j+1EndIfText1.Text=Ifi=4i=j=Text1.Text=MsgBox"輸入已經(jīng)結(jié)束"Command2.EnabledFalseExitSubEndIfEndSubCommand1Click'mat矩陣進行對應(yīng)的操作并將成果輸出PrivateSubCommand1_Click()IfCombo1.Text轉(zhuǎn)置ThenA=transpose(mat)ElseIfCombo1.Text逆矩陣ThenB=inv(mat)ElseIfCombo1.Text特性值ThenC=eig(mat)vC(1)'C(1)為特性值向量,C(2)ElseIfCombo1.Text"LU分解ThenD=lu(mat)lD(1'D(1)為下三角矩陣,D(2)為上三角矩陣,D(3)為交換矩陣ElseIfCombo1.Text"SVD分解Esvd(mat'E[2]為對角線為奇異值的矩陣,E[1],E[3]為正交矩陣v=E(1)ElseIfCombo1.Text行列式ThenF=det(mat)PrintF.Simple將行列式的值輸出到窗口上EndIfEndCommand4Clicki=j=1IfCommand2.Enabled=FalseThenCommand2.Enabled=TrueEndActiveXMatrixVB使得代碼簡潔,它不需要在不同的MATLAB的環(huán)境即可得到運算的成果。LUX(n)MatrixV的運算符VB不支持運算符的重載,例如“+”MatrixVB組件包中提供了一VBMatrixVB矩陣進行算術(shù)運算,VB支持的數(shù)據(jù)類型進行相似的運算,或者進行兩者的混合運算。因此這些函數(shù)相稱VBMatrixVB組件包中其它函數(shù)同樣對這些函數(shù)進行調(diào)用。MatrixVB運算符函數(shù)分為算術(shù)運算符函數(shù)、關(guān)系運算符函數(shù)和邏輯運算符函數(shù)等。MatrixVBVBMatrixVBVB7-27-2MatrixVBVBVisualMatrixVBabaaaaModabaa-a-aabVBMatrixVB標(biāo)量矩陣,VB的運算符所起的作用是同樣的,如:DimxAsDimyAsintegery=C=power(x,167-177-174.02A=CreateMatrix(1,2,3,4,5,6,7,8,B=CreateMatrix(2,2,2,3,3,3,4,4,A=reshape(A,3,B=reshape(B,3,C=power(A,CC(i,j)AA(j,i)B(j,i)次方,計算成7-18所示。7-18ABabMatrixVBVB中的數(shù)據(jù)類型(整型,浮點型)的標(biāo)量,所做的運A=CreateMatrix(1,2,3,4,5,6,7,8,A=reshape(A,3,B=power(A,A27-197-192VB7-37-3MatrixVBVBVisualMatrixVBabababab假abababVBVB的運算符所起的作用是同a,bVBMatrixVB01,DimxAsintegerDimyAsintegerC=ge(x,7-207-20VB1,0A=CreateMatrix(1,2,3,4,5,6,7,8,B=CreateMatrix(2,2,2,3,3,3,4,4,A=reshape(A,3,B=reshape(B,3,C=ge(A,7-217-21abmatricVBVB中的數(shù)據(jù)類型(整型,浮點型)的標(biāo)量,所做的運A=CreateMatrix(1,2,3,4,5,6,7,8,A=reshape(A,3,B=ge(A,7-227-22VB7-47-4MatrixVBVBVisualMatrixVBaAndabaEqvabaImpabnotaaOrabaXorab陣進行運算的函數(shù)。除此之外,MatrixVB還提供了大量運算函數(shù),本節(jié)我們將介紹幾個慣用的7-5所示。7-5MatrixVB函數(shù)名acbnn nFIR濾波函數(shù),a,b為濾波器系數(shù)矩陣,c快速傅立葉變換,a用來求多項式的根,a解線性方程組,a為系數(shù)矩陣,bA=CreateMatrix(2,11,7,3,-4,5,1,8,-B=CreateMatrix(2,6,A=reshape(A,3,B=reshape(B,3,C=mldivide(A,B)7-237-23refguide.pdfMatrixVB組件包提供了一整套用于二維或三維作圖的函數(shù)、顏色解決函數(shù)、圖像解決函數(shù)、圖像句柄解決函數(shù)及顧客界面對話框等工具。mattrixVBfiguerVB窗口中繪制VB在figur窗口中繪制圖形MatrixVB組件包在該領(lǐng)域的應(yīng)用辦法。假設(shè)該曲線的方程為:7-24click事件的解決過程編寫代碼:PrivateSubCommand1_Click()acolon(1,1,10)產(chǎn)生一種序列y=times(2,power(a,2))y=plu
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026云南昭通市巧家縣蒙姑鎮(zhèn)中心衛(wèi)生院招聘1人備考題庫及1套參考答案詳解
- 2026安徽合肥市中央企業(yè)高性能綠色新材料助劑項目招聘備考題庫及完整答案詳解1套
- 2026山東濰坊寒亭區(qū)事業(yè)單位招聘初級綜合類崗位人員備考題庫含答案詳解
- 2026四川省第三人民醫(yī)院高層次人才、成熟人才招聘12人備考題庫及答案詳解1套
- 2026年1月廣東廣州市天河第三實驗幼兒園招聘編外教輔人員1人備考題庫參考答案詳解
- 2026寧夏招錄選調(diào)生選報5人備考題庫及完整答案詳解1套
- 2026中國人民人壽保險股份有限公司霍城縣支公司招聘7人備考題庫及一套答案詳解
- 2026四川成都理工大學(xué)考核招聘博士輔導(dǎo)員25人備考題庫及答案詳解1套
- 2025-2030青海湖旅游市場供需現(xiàn)狀剖析及發(fā)展策略研究報告
- 2025-2030雀巢行業(yè)市場供需分析及投資規(guī)劃布局發(fā)展戰(zhàn)略研究報告
- 2025年松脂市場調(diào)查報告
- 2025年英語培訓(xùn)機構(gòu)學(xué)員合同示范條款協(xié)議
- 一年級地方課程教案
- SF-36評估量表簡介
- GB/T 10454-2025包裝非危險貨物用柔性中型散裝容器
- 河南省三門峽市2024-2025學(xué)年高二上學(xué)期期末調(diào)研考試英語試卷(含答案無聽力音頻及聽力原文)
- 睡眠科普課課件
- 2025年中遠海運集團招聘筆試備考題庫(帶答案詳解)
- 保密車間出入管理制度
- 智能網(wǎng)聯(lián)汽車技術(shù)課件:車路協(xié)同控制
- 勞務(wù)派遣培訓(xùn)計劃方案
評論
0/150
提交評論