版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
[鍵入文字][鍵入文字機電系統(tǒng)仿真實驗報告姓名:學(xué)號:手機:北京航空航天大學(xué)儀器科學(xué)與光電工程學(xué)院2013年6月Maple滑塊擺實驗
實驗一:Maple滑塊擺實驗實驗?zāi)康耐ㄟ^對滑塊擺進行Maple仿真,掌握Maple軟件的使用方法,掌握系統(tǒng)建模方法,更進一步理解仿真對實際系統(tǒng)設(shè)計的指導(dǎo)意義。二、實驗要求滑塊擺由一置于光滑桿上的質(zhì)量為m的滑塊A、一質(zhì)量為M的小球B和長度為L,質(zhì)量不計的剛性桿鉸接而成,不計各處摩擦,以過A點的水平面為零勢能面,通過Lagrange方程建立系統(tǒng)的運動方程,利用Maple軟件畫出:滑塊A的位移x隨時間t的變化曲線角度φ隨時間t的變化曲線滑塊擺的運動動畫xmMxmMψABL++實驗設(shè)計系統(tǒng)的數(shù)學(xué)模型系統(tǒng)的運動遵循拉格朗日方程:其中:q:x(t)和θ(t)的自由度D:由于摩擦而消耗的能量Fq:自由度q產(chǎn)生的力Ec和Ep:系統(tǒng)的動能和勢能 系統(tǒng)有兩個自由度,以x和為廣義坐標(biāo),以過A點的水平面為零勢能面,系統(tǒng)的動能和勢能分別為 系統(tǒng)的Lagrange方程為 計算出諸導(dǎo)數(shù) 帶入Lagrange方程,得到系統(tǒng)的運動微分方程實驗結(jié)果滑塊A的位移x隨時間t的變化曲線角度φ隨時間t的變化曲線滑塊擺的運動動畫源程序restart;with(DEtools):#調(diào)用微分方程工具包with(plots):#調(diào)用圖形包with(plottools):#圖形工具包g:=9.8:m:=1:M:=1:l:=2:equ1:=(m+M)*(diff(x(t),t$2)+M*l*cos(phi(t))*(diff(phi(t),t$2)-M*l*sin(phi(t))*(diff(phi(t),t))^2=0;equ2:=l*(diff(phi(t),t$2)+cos(phi(t))*(diff(x(t),t$2)+g*sin(phi(t))=0;val:=array(1..100):forito100doval[i]:=(1/10)*ienddo:S:=dsolve({equ1,equ2,phi(0)=0,x(0)=0,(D(phi))(0)=-1.3,(D(x))(0)=1},{phi(t),x(t)},method=rkf45,type=numeric,output=val):eval(S):DEplot([equ1,equ2],[x(t),phi(t)],t=0..10,[[x(0)=0,(D(x))(0)=1,phi(0)=0,(D(phi))(0)=-1.3]],stepsize=.1,linecolor=t);#畫x(t)DEplot([equ1,equ2],[phi(t),x(t)],t=0..10,[[x(0)=0,(D(x))(0)=1,phi(0)=0,(D(phi))(0)=-1.3]],stepsize=.1,linecolor=t);#畫phi(t)fortto100do#求擺球圓心位置x(t):=S[2,1][t,4]:x1(t):=l*sin(S[2,1][t,2])+x(t):y1(t):=-l*cos(S[2,1][t,2]):enddo:fortto100dowall:=curve([[-4,0],[0.5,0]]):#畫墻壁slider:=rectangle([x(t)-.15,.15],[x(t)+.15,-.15],color=green):#畫綠色滑塊pendulum:=disk([x1(t),y1(t)],.2,color=red):#畫紅色小球lineW_P:=curve([[x(t),0],[x1(t),y1(t)]]):#畫擺線G1[t]:=display(pendulum,lineW_P,wall,slider):enddo:display([seq(G1[t],t=1..100)],insequence=true,scaling=constrained,axes=none,title=`SingledPendulum`);
CVI傳感器靜態(tài)標(biāo)定實驗CVI傳感器靜態(tài)標(biāo)定實驗SY1217227蘇森實驗二:CVI傳感器靜態(tài)標(biāo)定實驗一、實驗?zāi)康恼莆沼肅VI進行圖形化界面設(shè)計及仿真的方法實驗要求1讀取數(shù)據(jù),顯示散點圖及擬合直線2計算斜率,截據(jù),均方差,線性度并顯示3生成.TXT報表實驗設(shè)計測試系統(tǒng)的靜態(tài)特性就是指當(dāng)被測量x不隨時間變化或隨時間的變化程度遠緩慢于系統(tǒng)固有的最低階運動模式的變化速度時,測試系統(tǒng)的輸出量y與輸入量x之間的函數(shù)關(guān)系,測試系統(tǒng)的靜態(tài)特性,是通過靜態(tài)標(biāo)定的過程獲的。1線性度 一般情況下,要求傳感器具有線性特性,但傳感器的實際特性卻是非線性的曲線,這種實際特性曲線與基準(zhǔn)直線間的偏差稱為非線性誤差。傳感器的非線性誤差指標(biāo)通常用線性度表示,線性度的定義為:式中:——線性度(非線性誤差) ——在整個測量范圍內(nèi)絕對值最大的非線性誤差 ——傳感器的滿量程輸出值 由上面定義可以知道,傳感器的線性度是以基準(zhǔn)直線為參考的,實際測量中采用的是最小二乘線性度2重復(fù)性 在相同的工作條件下,在一段短的時間間隔內(nèi),輸入量從同一方向作滿量程變化時,同一輸入量值所對應(yīng)的多次測量所得到的一組輸出量值,他們之間相互偏離的程度便稱為傳感器的重復(fù)性。當(dāng)傳感器在全量程范圍內(nèi)多次重復(fù)測試時,同是正行程或同時反行程上對應(yīng)同一輸入量,其輸出量之間的差值稱為重復(fù)性偏差。正、反行程的重復(fù)性偏差分別為: 在全量程內(nèi),重復(fù)性偏差的絕對值的最大值與基準(zhǔn)直線上滿量程輸出之比為重復(fù)性誤差,定義如下:虛擬傳感器的標(biāo)定數(shù)據(jù)存儲為a.cld,b.cld兩個文件中,其數(shù)據(jù)定義為結(jié)構(gòu)體CalibrateData,聲明如下typedefstructCalibrateData{intinputnum; //輸入測量點數(shù)double*input; //輸入測量點的值,數(shù)據(jù)長度為inputnumcharinputunit[10]; //輸入物理量的單位introundnum; //測量的循環(huán)數(shù)charoutputunit[10]; //測量所得物理量的單位double*output; //測量的值,其排列順序為:第一循環(huán)正行程,//第一循環(huán)反行程,第二循環(huán)正行程,//第二循環(huán)反行程,依次類推。數(shù)據(jù)長度為//inputnum*2*roundnum}CALIDATA;在回調(diào)函數(shù)中利用LinFit函數(shù)計算傳感器的基準(zhǔn)直線,其函數(shù)原型如下:Intstatus=LinFit(doublearrayX[],doublearrayY[],intnumberOfElements,doubleoutputArray[],double*slope,double*intercept,double*meanSquaredError);數(shù)組X,Y為用以計算擬合直線的點的x軸和y軸的坐標(biāo)值,數(shù)組Z為得到的擬合直線值,數(shù)組X,Y,Z的長度均為n,slope為基準(zhǔn)直線的斜率,intercept為基準(zhǔn)直線的截距,meanSquaredError為均方差,Z,X滿足如下關(guān)系Zi=slope×Xi+interceptmeanSquaredError計算公式如下實驗結(jié)果圖1圖形化界面設(shè)計圖2運行結(jié)果圖三生成報表圖4清空報表源程序#include<utility.h>#include<analysis.h>#include<ansi_c.h>#include<cvirte.h> #include<userint.h>#include"calibration.h"staticintcal;/*定義斜率、截距等全局變量*/charpath[MAX_PATHNAME_LEN];double*x;double*y;//保存測量輸入如測量輸出double*z;doubleslope,intercept,square,linear,repeat;/*定義數(shù)據(jù)結(jié)構(gòu)體*/typedefstructCalibrateData{intinputnum; //輸入測量點數(shù)double*input; //輸入測量點的值,數(shù)據(jù)長度為inputnumcharinputunit[10]; //輸入物理量的單位introundnum; //測量的循環(huán)數(shù)charoutputunit[10]; //測量所得物理量的單位double*output; //測量的值,其排列順序為:第一循環(huán)正行程,//第一循環(huán)反行程,第二循環(huán)正行程,//第二循環(huán)反行程,依次類推。數(shù)據(jù)長度為//inputnum*2*roundnum}CALIDATA;CALIDATAdata;//定義指針data為結(jié)構(gòu)體類型intmain(intargc,char*argv[]){ if(InitCVIRTE(0,argv,0)==0) return-1; /*outofmemory*/ if((cal=LoadPanel(0,"calibration.uir",CAL))<0) return-1; DisplayPanel(cal); RunUserInterface(); DiscardPanel(cal); return0;}intCVICALLBACKSHOWCallback(intpanel,intcontrol,intevent, void*callbackData,inteventData1,inteventData2){ switch(event) { caseEVENT_COMMIT: FILE*file; file=fopen("report.txt","a");//若不存在,創(chuàng)建文件 fclose(file); /*顯示報表*/ LaunchExecutable("notepad.exereport"); break; } return0;}intCVICALLBACKAQUIRECallback(intpanel,intcontrol,intevent, void*callbackData,inteventData1,inteventData2){ FILE*file; double*p; double*stack1,*stack2,*stack3,*stack4; doublemax,min; intmaxindex,minindex; doublea[5]; intflag=0;//加載文件標(biāo)志 switch(event) { caseEVENT_COMMIT: /*讀取文件并保存*/ flag=FileSelectPopup("","*.cld","","載入數(shù)據(jù)文件",VAL_LOAD_BUTTON,0,0,1,1,path); if(flag>0) { file=fopen(path,"rb"); fread(&data.inputnum,sizeof(int),1,file);//讀取測量點數(shù) if(data.input==NULL) data.input=malloc(sizeof(double)*data.inputnum); else data.input=realloc(data.input,sizeof(double)*data.inputnum); fread(data.input,sizeof(double),data.inputnum,file);//讀取輸入測量點的值,為double類型 fread(data.inputunit,sizeof(char),10,file);//讀取輸入物理量的單位 fread(&data.roundnum,sizeof(int),1,file);//讀取測量循環(huán)數(shù) fread(data.outputunit,sizeof(char),10,file);//讀取測量所得物理量單位 if(data.output==NULL) data.output=malloc(sizeof(double)*2*data.inputnum*data.roundnum); else data.output=realloc(data.output,sizeof(double)*2*data.inputnum*data.roundnum); fread(data.output,sizeof(double),2*data.inputnum*data.roundnum,file);//讀取測量的值 fclose(file); } DeleteGraphPlot(CAL,CAL_GRAPH,-1,VAL_IMMEDIATE_DRAW);//刪除原有曲線 for(inti=0;i<2*data.roundnum;i++) for(intj=0;j<data.inputnum;j++) PlotPoint(CAL,CAL_GRAPH,data.input[j],data.output[i*data.inputnum+j],VAL_EMPTY_SQUARE,VAL_RED); /*為變量開辟堆棧區(qū)*/ stack1=malloc(sizeof(double)*data.inputnum*2*data.roundnum); stack2=malloc(sizeof(double)*data.inputnum*2*data.roundnum); stack3=malloc(sizeof(double)*data.inputnum); stack4=malloc(sizeof(double)*data.roundnum*2*data.inputnum); for(inti=0;i<2*data.roundnum;i++) for(intj=0;j<data.inputnum;j++) stack1[i*data.inputnum+j]=data.input[j]; /*擬合并顯示*/ /*for(inti=0;i<=data.inputnum;i++) { ; }*/ LinFit(stack1,data.output,data.inputnum*2*data.roundnum,stack2,&slope,&intercept,&square); SetCtrlVal(CAL,CAL_SLOPE,slope); SetCtrlVal(CAL,CAL_INTERCEPT,intercept); SetCtrlVal(CAL,CAL_SQUARE,square); PlotLine(CAL,CAL_GRAPH,stack1[0],stack2[0],stack1[data.inputnum*2*data.roundnum-1],stack2[data.inputnum*2*data.roundnum-1],VAL_CYAN); /*計算線性度誤差并顯示*/ for(inti=0;i<data.inputnum*2*data.roundnum;i++) stack1[i]=abs(stack2[i]-data.output[i]); MaxMin1D(stack1,data.inputnum*2*data.roundnum,&max,&maxindex,&min, &minindex); linear=max*100/(stack2[data.inputnum*2*data.roundnum-1]-stack2[0]); SetCtrlVal(CAL,CAL_LINEAR,linear); /*計算重復(fù)性誤差并顯示*/ for(intj=0;j<data.inputnum;j++) { max=0; min=2*stack2[data.inputnum*2*data.roundnum-1];for(inti=0;i<2*data.roundnum;i++) { if(max<data.output[i*data.inputnum+j]) max=data.output[i*data.inputnum+j]; if(min>data.output[i*data.inputnum+j]) min=data.output[i*data.inputnum+j]; } stack3[j]=max-min; } MaxMin1D(stack3,data.roundnum,&max,&maxindex,&min, &minindex);repeat=max*100/(stack2[data.inputnum*2*data.roundnum-1]-stack2[0]); SetCtrlVal(CAL,CAL_REPEAT,repeat); /*生成報表*/ file=fopen("report.txt","a");//以寫的形式打開,若不存在則創(chuàng)建 fprintf(file,"SlopeInterceptMeanSquaredErrorLinearRe
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度風(fēng)力發(fā)電設(shè)備采購合同擔(dān)保服務(wù)3篇
- 2024版學(xué)校運動場施工合作合同版B版
- 2024年食材供應(yīng)鏈管理合同2篇
- 2024年版:建筑消防排煙系統(tǒng)施工合同
- 2024鐵路工程項目信息化建設(shè)合同樣本3篇
- 2024年足浴城加盟協(xié)議3篇
- 2025年度窗簾行業(yè)發(fā)展趨勢研究與預(yù)測合同3篇
- 工廠供配電技術(shù)
- 2024版建筑木工班組勞務(wù)合作協(xié)議
- 2025年度鍋爐設(shè)備節(jié)能評估與咨詢服務(wù)合同3篇
- 復(fù)旦大學(xué)普物B期末考試試卷
- 剪映教程PPT版本新版剪影零基礎(chǔ)教學(xué)課程課件
- 小學(xué)語文低年級寫話 鴿子
- GB/T 35223-2017地面氣象觀測規(guī)范氣象能見度
- GB/T 24183-2009金屬材料制耳試驗方法
- 醫(yī)院感染質(zhì)量控制中心工作總結(jié)和計劃課件
- 仁愛英語八年級上冊詞匯練習(xí)題全冊
- 中共一大介紹
- 生產(chǎn)車間5s管理培訓(xùn)課件
- 監(jiān)考要求、操作流程及指導(dǎo)語
- 腰椎骨折病人的護理ppt
評論
0/150
提交評論