資源描述:
《基于matlab和vc++的電路仿真軟件設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、維普資訊http://www.cqvip.com廣東職業(yè)技術(shù)師范學(xué)院學(xué)報2002年第4期JoumalofGuangdongPolytechnicNormalUniversityNo.4,2002基于Matlab和VC++的電路仿真軟件設(shè)計楊寧劉景琳(廣東技術(shù)師范學(xué)院電子信息工程系,廣東廣州510665)摘要:本文利用Maflab強大的功能來設(shè)計圖形用戶界面的電路仿真教學(xué)軟件,用實例介紹了電路仿真軟件的設(shè)計過程,并通過Matlab和VC++的接口使該仿真軟件脫離Matlab環(huán)境形成可獨立執(zhí)行的應(yīng)用程序,從而大大減少了電路
2、仿真教學(xué)軟件的開發(fā)周期,提高了仿真軟件的運行速度。關(guān)鍵詞:Maflab;VC++;電路仿真軟件中圖分類號:TP391.9文獻標識碼:A文章編號:1009—28o3(2002)04—0031—061.引言Matlab目前已成為國際上公認的最優(yōu)秀的數(shù)值計算和仿真分析軟件。它具有符號計算、數(shù)字和文字統(tǒng)一處理、離線和在線計算等功能;具有較強的繪圖、計算和可視化功能;具有很強的開放性,針對不同的應(yīng)用學(xué)科,在Matlab平臺之上推出了3O多個應(yīng)用的工具箱。Matlab已成為應(yīng)用學(xué)科計算輔助分析、設(shè)計、仿真和教學(xué)不可缺少的軟件。用M
3、atlab進行教學(xué)仿真,要求用戶必須掌握M語言編程方法和各個函數(shù)的調(diào)用接口,比較適合有系統(tǒng)分析經(jīng)驗和熟悉M語言的用戶。而對于不熟悉Matlab和M語言的學(xué)生,使用Matlab對教學(xué)內(nèi)容進行仿真分析,就有一定的困難。本文利用Matlab數(shù)值計算、符號運算及圖形處理方面的強大功能,用Matlab的M編程語言和圖形用戶界面GUI來設(shè)計具有Windows程序風(fēng)格的圖形用戶界面的電路仿真軟件,并通過Matlab與VisualC++的接口將仿真軟件轉(zhuǎn)換成可脫離Matlab環(huán)境直接在Windows環(huán)境下獨立執(zhí)行的應(yīng)用程序,從而大大減
4、少了電路仿真軟件的開發(fā)周期,提高了軟件的運行速度。2.電路仿真軟件的用戶界面設(shè)計用戶可以在Matlab環(huán)境中自行設(shè)計別具風(fēng)格的人機交互界面,以顯示各種計算信息、圖形、聲音等,并且提示輸入各種計算過程中所需要的參數(shù),通過建立友好的用戶界面而使汁算進行得更為方便快捷。收稿日期:2002~10—30作者簡介:楊寧(1958一),女,江西南昌人,廣東技術(shù)師范學(xué)院副教授,研究方向為計算機控制系統(tǒng),計算機仿真。劉景琳(1964~),女,廣東汕頭人,廣東技術(shù)師范學(xué)院副教授,研究方向為電子技術(shù)應(yīng)用。3l維普資訊http://www.c
5、qvip.comMatlab提供了兩種用戶界面的設(shè)計方法,一種是用M語言編寫M文件來設(shè)計用戶界面;另一種是通過Matlab的圖形用戶界面(GUI)向?qū)Ь庉嬈鱃UIDE來設(shè)計用戶界面,該方法可以很方便地設(shè)計出各種符合要求的圖形用戶界面。向?qū)Ь庉嬈鱃UIDE中包含多種GUI控件,先利用控件來構(gòu)建整個圖形界面的布局,并對其中的控件進行參數(shù)設(shè)置,然后為控件或通用事件編輯響應(yīng),具體實現(xiàn)圖形界面的各種功能。本仿真軟件的主模塊界面和各子模塊界面采用向?qū)Ь庉婫UIDE來設(shè)計,各仿真界面用M語言編程來設(shè)計。在利用向?qū)Ь庉嬈鱃UIDE設(shè)計
6、電路仿真主模塊界面時,先插入一個axes控件,利用axes坐標軸控件在圖形界面中插入背景圖像main.tif(背景圖像main.tif是事先在ImagineforWindows環(huán)境下建立的。Matlab中可接受的圖像文件其擴展名可以是:bmp、hdf、jPg、jpeg、pex、tif、tif、xwd等),再在axes坐標軸控件中創(chuàng)建軸函數(shù),獲取背景圖像,其程序代碼為:functionvarargout=axes1CreateFcn(h,eventdata,handles,varargin)一F=imfinfo(‘mai
7、n.tif’);%獲取圖像文件的全部特征信息F(1,1).ColorType%顯示圖像著色類型信息[X,cmap]=imread(‘main.tif’);%讀取TIF格式文件image(X);colormap(cmap);axisimageof%顯示圖像,并保持寬高比。shg%顯示圖形窗口插入按鍵PushButton控件來選擇進入子模塊,編輯控件響應(yīng)的程序代碼為:functionvarargoutpushbutton1Callback(h,eventdata,handles,varargin)一close%關(guān)閉主模塊界
8、面index%打開子模塊文件主模塊圖形界面如圖1所示。用類似的方法可設(shè)計出各子模塊圖形界面,其中二階電路子模塊圖形界面如圖2所示。電路仿真軟件溺霞"ltt"41":I寧捌●H■∥¨l二—;L睡∽¨》——重—圖1主模塊圖形界面圖2子模塊圖形界面3.電路仿真過程的實現(xiàn)Matlab有強大的數(shù)值計算、符號運算和圖形處理的功能,因此能方便的