測控技術(shù)與儀器課程設(shè)計電流環(huán)磁場的分布_第1頁
測控技術(shù)與儀器課程設(shè)計電流環(huán)磁場的分布_第2頁
測控技術(shù)與儀器課程設(shè)計電流環(huán)磁場的分布_第3頁
測控技術(shù)與儀器課程設(shè)計電流環(huán)磁場的分布_第4頁
測控技術(shù)與儀器課程設(shè)計電流環(huán)磁場的分布_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第13頁(共13頁)測試與光電工程學(xué)院課程設(shè)計任務(wù)書測控技術(shù)與儀器系090812班學(xué)號09081209姓名王若玨課題名稱:電流環(huán)磁場的分布課題要求:建立電流環(huán)磁場模型掌握圖形的繪制編寫圖形顯示界面顯示電流環(huán)磁場分布圖課題進(jìn)程:第一周:確定使用哪種計算機(jī)語言編程;編寫主要功能。第二周:程序的完善、運(yùn)行與調(diào)試;撰寫課程設(shè)計報告。指導(dǎo)教師:袁麗華【摘要】MATLAB是由美國MathWorks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進(jìn)行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進(jìn)水平。本課程設(shè)計根據(jù)畢奧一薩伐爾定律推導(dǎo)出圓環(huán)電流磁場分布的積分表示,利用MATLAB的符號積分得出計算結(jié)果,并繪制磁場分布曲線。并通過GUI制作可交互式界面進(jìn)行仿真與演示。本課程設(shè)計選用MATLABR2008a軟件。關(guān)鍵詞:圓環(huán)電流;磁場;MATLAB;符號積分;GUI目錄6787一.引言 166861.1課題簡介 177541.2課題制作要點(diǎn) 177541.3MATLAB軟件 111025二.理論分析 246232.1畢奧一薩伐爾定律 2106732.2電流元在圓環(huán)外的磁場 2319122.3電流元在圓環(huán)內(nèi)的磁場 3283942.4距離圓心z處的磁感應(yīng)強(qiáng)度 327598三.程序設(shè)計 495933.1GUI界面設(shè)計 49253.1.1創(chuàng)建GUI文件 49253.1.2GUI布局與控件設(shè)計 4131103.1.3GUI菜單欄設(shè)計 6174233.2功能實現(xiàn) 6311093.2.1菜單功能 656583.2.2繪圖設(shè)置相關(guān)控件功能實現(xiàn) 720051四.GUI運(yùn)行效果 11234534.1GUI初始化效果 11234534.2菜單欄效果 11290484.3繪圖效果 1212177五.心得體會 1321347六.參考文獻(xiàn) 13引言1.1課題簡介圓電流是一個經(jīng)典的物理模型。對圓電流內(nèi)磁場分布特性的研究,在宏觀上可以改善線圈繞組在電機(jī)中的應(yīng)用。微觀上??梢越o分子電流提供理論基礎(chǔ),對進(jìn)一步研究磁介質(zhì)的磁性特征也有重要參考價值。本課題主要著重于對電流環(huán)磁場進(jìn)行建模與仿真,根據(jù)畢奧一薩伐爾定律通過設(shè)定電流環(huán)半徑、電流強(qiáng)度,模擬不同情況下磁場與磁感線的分布情況,并繪制成圖像。1.2課題制作要點(diǎn)EQ\o\ac(○,1)電流環(huán)磁場參數(shù)的設(shè)定EQ\o\ac(○,2)電流環(huán)磁場的建模與仿真EQ\o\ac(○,3)可交互式GUI界面的設(shè)計1.3MATLAB軟件簡介MATLAB是由美國MathWorks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進(jìn)行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進(jìn)水平。MATLAB是一個高級的矩陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c(diǎn)。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較大的復(fù)雜的應(yīng)用程序(M文件)后再一起運(yùn)行。而且這種語言可移植性好、可拓展性極強(qiáng),這也是MATLAB能夠深入到科學(xué)研究及工程計算各個領(lǐng)域的重要原因。MATLAB是一個包含大量計算算法的集合。其擁有600多個工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。函數(shù)中所使用的算法都是科研和工程計算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和容錯處理。在通常情況下,可以用它來代替底層編程語言,如C和C++。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進(jìn)行標(biāo)注和打印。新版本的MATLAB對整個圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能而且對于一些其他軟件所沒有的功能,MATLAB同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。理論分析2.1畢奧一薩伐爾定律畢奧一薩伐爾定律是以實驗為基礎(chǔ)經(jīng)過科學(xué)抽象而得到的,描述的是電流元在空間任一點(diǎn)產(chǎn)生的磁感應(yīng)強(qiáng)度。原則上利用畢奧一薩伐爾定律并結(jié)合磁感應(yīng)強(qiáng)度疊加原理,可以計算任意形狀的電流所產(chǎn)生的磁場。畢奧—薩伐爾定律指出:載流導(dǎo)線上的電流元在真空中某點(diǎn)P的磁感度dB的大小與電流元的大小成正比,與電流元和從電流元到P點(diǎn)的位矢r之間的夾角的正弦成正比,與位矢r的大小的平方成反比,即:上式中,為位矢的單位矢量。此即畢奧—薩伐爾定律的公式表述。2.2電流元在圓環(huán)外的磁場圖1電流元在電流環(huán)外的磁場如圖1所示,根據(jù)畢奧一薩伐爾定律,任一電流元在P點(diǎn)產(chǎn)生的磁感應(yīng)強(qiáng)度,考慮到,,有(1)。2.3電流元在圓環(huán)內(nèi)的磁場圖2電流元在電流環(huán)內(nèi)的磁場如圖2所示,電流元在P點(diǎn)所產(chǎn)生的磁感應(yīng)強(qiáng)度,即(2)。2.4距離圓心z處的磁感應(yīng)強(qiáng)度比較電流元在圓環(huán)內(nèi)、外的磁場表達(dá)式,兩式僅相差一個負(fù)號。該負(fù)號體現(xiàn)了兩種情況下磁場方向正好相反。若規(guī)定垂直紙面向外為磁感應(yīng)強(qiáng)度的正方向,則電流元在圓環(huán)內(nèi)、外產(chǎn)生的磁感應(yīng)強(qiáng)度可統(tǒng)一表示為(2)式的形式。結(jié)合磁感應(yīng)強(qiáng)度疊加原理,整個圓環(huán)電流在距圓心處產(chǎn)生的磁感應(yīng)強(qiáng)度為:程序設(shè)計3.1GUI界面設(shè)計3.1.1創(chuàng)建GUI文件打開MATLAB軟件后,點(diǎn)擊菜單欄中的“GUIDE”按鈕,進(jìn)入“GUIDEquickstart”,選擇“CreateNewGUI”選項卡,選擇“BlankGUI(default)”創(chuàng)建一空白GUI文檔。并命名為“”如圖3所示。圖3創(chuàng)建一空白GUI3.1.2GUI布局與控件設(shè)計GUI布局如圖4,所用控件羅列于表1。圖4GUI布局控件名稱控件屬性控件用途FontSizeString(Title)TagPanel15繪圖設(shè)置uipanel4放置繪圖設(shè)置的其他控件Panel15視角切換uipanel3放置用于視角切換的控件Axesaxes1顯示磁場及磁感線分布圖像StaticText25帶電電流環(huán)周圍空間的磁場分布text1標(biāo)題StaticText15電流值text3顯示StaticText15Atext4電流值單位StaticText15環(huán)半徑text5顯示StaticText15mtext6環(huán)半徑單位Listbox15電流環(huán)的磁場分布圖;電流環(huán)的磁感線分布圖listbox1選擇繪圖類型PushButton15繪制圖像pushbutton2繪制圖像PushButton15重置參數(shù)pushbutton7重置參數(shù)EditText15edit3設(shè)置電流參數(shù)值EditText15edit4設(shè)置環(huán)半徑數(shù)值EditText15測試圖edit1顯示圖像名稱RadioButton12自由視角radiobutton1開啟三維圖像自由視角RadioButton12鎖定視角radiobutton1關(guān)閉三維圖像自由視角表1所用控件3.1.3GUI菜單欄設(shè)計為使用戶獲得更方便的使用體驗,故增加菜單欄。點(diǎn)擊“MenuEditor”進(jìn)行制作。如圖5。圖5菜單欄編輯3.2功能實現(xiàn)GUI界面設(shè)計過后,對相關(guān)控件的“ViewCallbacks”中的函數(shù)進(jìn)行編輯,以實現(xiàn)既定功能。3.2.1菜單功能菜單欄中的退出功能點(diǎn)擊“MenuEditor”中的“退出”選項,設(shè)置Tag屬性為“Untitled_1”,并對回調(diào)函數(shù)進(jìn)行編輯。如圖6.圖6退出功能編輯程序代碼如下:functionUntitled_1_Callback(hObject,eventdata,handles)selection=questdlg(['是否關(guān)閉',get(gcf,'Name'),'窗口?'],...['Close',get(gcf,'Name'),'...'],'是','否','是');ifstrcmp(selection,'否')return;elseclc;%當(dāng)選擇關(guān)閉時,清空所有matla輸入面上的所有錯誤信息,同時關(guān)閉圖像窗口clearall;delete(gcf);End菜單欄中的說明功能點(diǎn)擊“MenuEditor”中的“說明”選項,設(shè)置Tag屬性為“Untitled_2”,并對回調(diào)函數(shù)進(jìn)行編輯。程序代碼如下:functionUntitled_2_Callback(hObject,eventdata,handles)msgbox('利用{畢奧-薩伐爾定律}作圖','說明')3.2.2繪圖設(shè)置相關(guān)控件功能實現(xiàn)選擇繪制圖像類型當(dāng)選擇“l(fā)istbox1”中的某一選項時,坐標(biāo)軸下方的“EditText”也顯示相應(yīng)的文字說明。鼠標(biāo)右鍵點(diǎn)擊“l(fā)istbox1”選擇“ViewCallbacks”中的“Callback”進(jìn)行編輯。如圖7。圖7程序代碼如下:functionlistbox1_Callback(hObject,eventdata,handles)selected.index=get(handles.listbox1,'value');str=get(handles.listbox1,'string');set(handles.edit1,'string',str{selected.index});繪制圖像按鈕功能實現(xiàn)當(dāng)使用者選擇好所要繪制的圖像類型后,點(diǎn)擊“繪制圖像”按鈕,則在坐標(biāo)軸中出現(xiàn)相應(yīng)的圖像。圖像下方的文本框中顯示圖像名稱。對“PushButton2”的回調(diào)函數(shù)進(jìn)行編輯。程序代碼如下:functionpushbutton2_Callback(hObject,eventdata,handles)axes(handles.axes1);cla;popup_sel_index=get(handles.listbox1,'Value');Rh=str2double(get(handles.edit4,'String'));%通過edit4輸入環(huán)半徑值I0=str2double(get(handles.edit3,'String'));%通過edit3輸入電流值switchpopup_sel_indexcase1mu0=4*pi*1e-7;c0=mu0/(4*pi)*I0;Nh=40;%將電流分段為40段x=linspace(-3,3,Nh);y=x;%確定觀察點(diǎn)的范圍thta0=linspace(0,2*pi,Nh+1);%環(huán)周的分段數(shù)thta1=thta0(1:Nh);y1=Rh*cos(thta1);%環(huán)各段矢量的起點(diǎn)坐標(biāo)y1,z1;z1=Rh*sin(thta1);thta2=thta0(2:Nh+1);y2=Rh*cos(thta2);%環(huán)各段矢量的起點(diǎn)坐標(biāo)y2,z2;z2=Rh*sin(thta2);xc=0;yc=(y2+y1)/2;zc=(z2+z1)/2;%計算環(huán)各段矢量中點(diǎn)的3個坐標(biāo)分量dlx=0;dly=y2-y1;dlz=z2-z1;%計算環(huán)各段矢量dl的3個長度分量NGx=Nh;NGy=NGx;%確定網(wǎng)格數(shù)fori=1:NGy%循環(huán)計算各網(wǎng)格點(diǎn)上的B(x,y)值forj=1:NGxrx=x(j)-xc;ry=y(i)-yc;rz=0-zc;r3=sqrt(rx.^2+ry.^2+rz.^2).^3;dlxr_x=dly.*rz-dlz.*ry;dlxr_y=dly.*rx-dlx.*rz;Bx(i,j)=sum(c0*dlxr_x./r3);%把環(huán)各段產(chǎn)生的磁場分量累加By(i,j)=sum(c0*dlxr_y./r3);B=(Bx.^2+By.^2).^0.5;%計算B的大小endendsurf(x,y,B);%繪制磁場分布圖像shadinginterpgridoncase2mu0=4*pi*1e-7;c0=mu0/(4*pi)*I0;Nh=40;x=linspace(-3,3,Nh);y=x;thta0=linspace(0,2*pi,Nh+1);thta1=thta0(1:Nh);y1=Rh*cos(thta1);z1=Rh*sin(thta1);thta2=thta0(2:Nh+1);y2=Rh*cos(thta2);z2=Rh*sin(thta2);xc=0;yc=(y2+y1)/2;zc=(z2+z1)/2;dlx=0;dly=y2-y1;dlz=z2-z1;NGx=Nh;NGy=NGx;fori=1:NGyforj=1:NGxrx=x(j)-xc;ry=y(i)-yc;rz=0-zc;r3=sqrt(rx.^2+ry.^2+rz.^2).^3;dlxr_x=dly.*rz-dlz.*ry;dlxr_y=dly.*rx-dlx.*rz;Bx(i,j)=sum(c0*dlxr_x./r3);By(i,j)=sum(c0*dlxr_y./r3);B=(Bx.^2+By.^2).^0.5;endendquiver(x,y,Bx,By,0.5,'LineWidth',1);%繪制磁感線圖線gridonend重置參數(shù)按鈕功能實現(xiàn)初始化GUI圖形界面:坐標(biāo)軸中的圖像還原為初始時的“測試圖”,坐標(biāo)軸下方的文本框顯示文字“測試圖”,EditText3、EditText4無顯示,Listbox1中選項顯示為“電流環(huán)的磁場分布圖”,視角切換中的單選框選中“視角鎖定”“OpenFunction”進(jìn)行編輯。程序代碼如下:functioncichang1_OpeningFcn(hObject,eventdata,handles,varargin)guidata(hObject,handles);ifstrcmp(get(hObject,'Visible'),'off')surf(peaks);rotate3doff;end然后對PushButton7的回調(diào)函數(shù)進(jìn)行編輯。程序代碼如下:functionpushbutton7_Callback(hObject,eventdata,handles)cla;surf(peaks);rotate3doff;set(handles.radiobutton2,'value',1);set(handles.radiobutton1,'value',0);set(handles.edit3,'string','');set(handles.listbox1,'value',1);set(handles.edit4,'string','');set(handles.edit1,'string','測試圖');視角切換功能實現(xiàn)當(dāng)選擇“自由視角”時,用戶可通過鼠標(biāo)自由旋轉(zhuǎn)坐標(biāo)軸中的圖像;當(dāng)選擇“鎖定視角”時,用戶可以鎖定任意視角時的圖像。首先對RadioButton2的回調(diào)函數(shù)進(jìn)行編輯。程序代碼如下:functionradiobutton2_Callback(hObject,eventdata,handles)rotate3doff;然后對RadioButton1的回調(diào)函數(shù)進(jìn)行編輯。程序代碼如下:functionradiobutton1_Callback(hObject,eventdata,handles)rotate3don;最后再保存一次“”。GUI運(yùn)行效果4.1GUI初始化效果打開“”,顯示如圖8效

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論