數(shù)學(xué)模型與數(shù)學(xué)建模實驗三_第1頁
數(shù)學(xué)模型與數(shù)學(xué)建模實驗三_第2頁
數(shù)學(xué)模型與數(shù)學(xué)建模實驗三_第3頁
數(shù)學(xué)模型與數(shù)學(xué)建模實驗三_第4頁
數(shù)學(xué)模型與數(shù)學(xué)建模實驗三_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗報告三學(xué)院名稱:理學(xué)院專業(yè)年級:姓名:學(xué)號:課程:數(shù)學(xué)模型與數(shù)學(xué)建模報告日期:2015年11月24日一、實驗題目例1.3.1繼續(xù)研究十字路口紅綠燈問題十字路口綠燈亮燈30s,最多可以通過多少輛汽車?繼續(xù)研究問題:十字路口綠燈亮s,最多可以通過多少輛汽車?例1.3.2圖像做舊練習(xí):改變?nèi)诤媳壤瑖L試其它做舊效果例1.3.3畫分形樹二、實驗?zāi)康臄?shù)學(xué)建模是一種數(shù)學(xué)的思考方法,用數(shù)學(xué)的語言和方法,通過抽象、簡化建立能近似的刻畫并“解決”實際問題的路徑。因此,模型一般具有明確的應(yīng)用背景,針對性較強。為了使所研究的模型有相當(dāng)?shù)钠者m性,能解決一類問題,就需要在模型確立之后,進(jìn)一步分析推廣,挖掘出模型更多的理論和實用的價值。三、問題陳述第一題問題要求很明確,求解的關(guān)鍵是綠燈亮后,汽車才啟動,加速是過路口,要確定在給定時間內(nèi)能通過多少輛車,就要考慮汽車加速度,從停車位置到路口的路程以及城市行車的最高限速要求。第二題數(shù)值圖像是一個函數(shù),,確切的說,是定義在矩形區(qū)域的離散網(wǎng)格點上的函數(shù),稱為像素點為像素值,當(dāng)時,為灰度圖像,當(dāng)時,為彩色圖像,所以灰度圖像就是一個矩陣,彩色圖像就是三個矩陣,分別表示三個顏色(紅、綠、藍(lán)RGB),即三維數(shù)組表達(dá),圖像做舊是一種圖像融合的方法,可以通過兩個矩陣的加權(quán)求和來實現(xiàn)。需要強調(diào)的是,為解決問題編寫程序不僅需要熟悉軟件的變異特點,例如MATLAB的矩陣語言,而且要密切結(jié)合問題的背景,利用其數(shù)學(xué)特征,才有可能編寫出有效的程序,下面以編寫分形樹的繪圖為例,說明如何利用分形樹的自相似特征,將需要運行十多分時間的程序改進(jìn)為幾秒就能實現(xiàn)的程序。第三題分形是對不規(guī)則的難以用傳統(tǒng)歐式幾何描述的幾何圖形,例如,海岸線和山川形狀,多數(shù)分形圖案的特點之一是從整體到局部的自相似性,從遠(yuǎn)距離觀察,海岸線和山川形狀是極不規(guī)則的;從近距離觀察,其局部形狀又和整體形態(tài)相似,數(shù)學(xué)的分形樹是按一定規(guī)律構(gòu)造的的具有自相似特征的幾何圖案。我們從一個線段生成一個分形樹圖案開始,學(xué)習(xí)幾何最基本的元素“點”和“直線”的矩陣代數(shù)表達(dá)方式。四、模型及求解結(jié)果第一題記在時刻第輛車的位置為,用數(shù)軸表示車輛行駛道路,數(shù)軸的正向為汽車行駛方向,數(shù)軸原點為紅綠燈的位置。于是當(dāng)時,表明在第30s第輛車已通過紅綠燈,否則,結(jié)論相反。于是,只要確定限速行駛模型,就可以確定30s內(nèi)通過的汽車數(shù)量。在單向、單車道、直行、限速等假設(shè)下,在《數(shù)學(xué)模型與數(shù)學(xué)建?!分薪o出了這個模型:其中表示第輛車在綠燈亮前的位置,表示第輛車的啟動時間,表示第輛車達(dá)到最大限速時間。參數(shù)驅(qū)車長,車距,加速度,最大限速??梢缘玫浇Y(jié)果,綠燈亮30s,該路口單向,單車道可以通過17輛車。這里直接研究限速行駛模型的應(yīng)用。確定十字路口綠燈亮多長時間是城市交通管理中最基本的一個問題。直接利用限速行駛模型計算每輛車到達(dá)路口的時間,有數(shù)值結(jié)果可見,綠燈亮后汽車開始以最高限速穿過路口的時間在11s以后,從第6輛車開始。以后的車都以最高限速穿過路口。綠燈亮30s通過路口17輛車中有11輛車以最高限速穿過路口,如果綠燈只亮15s,則在通過7輛車中只有兩輛車以最高的限速穿過路口,顯然這樣的交通燈控制策略對于路口的利用率是不高的。如果是利用限速行駛模型得到通過的車輛數(shù)對綠燈亮的時間長度的依賴關(guān)系,即得到當(dāng)綠燈亮s時,單向、單車道通過的車輛數(shù),對進(jìn)一步的研究更方便。要寫出這個分段函數(shù),推導(dǎo)并不困難,但是有些繁瑣。但是在實際問題研究中找到顯示表達(dá)式函數(shù)的機會非常少,借助計算機編程,;iyong輸入輸出表達(dá)函數(shù)關(guān)系常常是唯一可取的辦法。下面以這個簡單問題為例嘗試一下。一個基本的想法是,在有限時間內(nèi)只能通過有限輛車,只要計算出輛車通過路口的時間,再用規(guī)定的綠燈亮的時間長度為卡尺,就可以確定通過的車輛數(shù)。算法(1)計算每輛汽車達(dá)到最大限速時間,以加速度通過路口時間和以最大限速通過路口時間。(2)比較和就可以確定這輛車實際通過路口的時間。(3)將充分多輛車通過路口的時間列出來,(用find)確定通過路口時間小于綠燈亮的時間長度的所有車號,其中最大者就是能夠通過的車輛數(shù),函數(shù)以pass.m文件名存儲。于是,只要輸入就會由函數(shù)pass(T)得到通過的車輛數(shù)。第二題1、圖像做舊處理所得圖像及其拉伸灰度級顯示圖像結(jié)果如下圖所示:上圖(圖像做舊)左上為原雙精度圖,右上為整數(shù)型數(shù)據(jù)的得到的圖像,左下為雙精度整數(shù)型數(shù)據(jù)各50%的融合比例,右下80%的雙精度數(shù)據(jù)與20%的整數(shù)型數(shù)據(jù)融合后的結(jié)果。2、練習(xí)題:改變?nèi)诤媳壤蠄D(改變?nèi)诤媳壤┳笊蠟樵p精度圖,右上為整數(shù)型數(shù)據(jù)的得到的圖像,左下為40%的雙精度數(shù)據(jù)與60%的整數(shù)型數(shù)據(jù)融合后的結(jié)果,右下90%的雙精度數(shù)據(jù)與10%的整數(shù)型數(shù)據(jù)融合后的結(jié)果。第三題第(1)步:畫一個點P(2.5,3)第(2)步:畫兩個點,第(3)步:畫兩個點,及其連線上的中點,因為任意兩點,之間的連線上的點可以表示為,即:其中,特別地,當(dāng)時,是連線上的中點。注意:兩個同階矩陣相加等于對應(yīng)元素相加,矩陣除以某數(shù)等于每個元素除以這個數(shù)。第(4)步:一枝樹杈,任意給定一節(jié)樹段,在其中點長出一個分杈,長度等于原樹段長的一半,向左偏離原樹段30°角,記原樹段起點為,終點為,中點為,如圖:算法:=1\*GB3①將向量平移到原點,并縮小1/2,得到向量,=2\*GB3②將逆時針旋轉(zhuǎn)π/6,再平移到與連線的中點,得到向量,,其中是旋轉(zhuǎn)變換矩陣;=3\*GB3③將,,,,依序連接起來。第(5)步:畫一棵分形樹。假定樹的生長是有規(guī)律的,按分杈點可以將樹分成有限個樹段,每個階段每個樹段必在且只在中點向一個固定方向,例如,向左偏離30°,長出一枝新樹杈,新樹杈的出現(xiàn),使得樹可以被分為更多的樹段,進(jìn)入下一階段的生長,在計算機上實現(xiàn)這個過程,上一步已將一個樹段變?yōu)橐粋€樹杈,這樹杈由3個新樹段構(gòu)成,為表達(dá)清楚,可將上題的的輸出指令u=[u(1,:);p0;Ip;p0;u(2,:)]改為u=[u(1,:);p0;p0;lp;p0;u(2,:)]即將每個樹段的起點和終點坐標(biāo)都分別用矩陣u的奇數(shù)行和偶數(shù)行記錄,3個樹段由6個點表示。下一步,在這3個樹段的每段上都要長出一個分杈,即在每段上重復(fù)上一步工作,為編寫代碼簡潔,先將畫一枝樹杈的指令用函數(shù)文件branch.m表達(dá)。只要輸入樹段斷電坐標(biāo)v和將要長出分杈的偏離角度,就會輸出長了一個分杈的樹杈,然后,重復(fù)執(zhí)行調(diào)用branch.m畫出所有樹段生成的樹杈,這個過程用函數(shù)文件tree.m表達(dá)只要輸入上階段已有的樹u和規(guī)定的樹杈偏離角,就會輸出長了更多樹杈的樹。注意到,因為u記錄了所有樹段的起點和終點,所以樹段總數(shù)是其行數(shù)的一半。按這種想法,可以設(shè)計生長個階段的分形樹的算法。算法=1\*GB3①給定初始值,一個2行2列矩陣表示一根樹干兩端點的坐標(biāo),給定參數(shù)表示樹杈的生長角度。=2\*GB3②第階段():=1\*alphabetica.從上階段的樹截出樹段;=2\*alphabeticb.樹段上長成一枝樹杈,記為;=3\*alphabeticc.依序?qū)⑵唇?,?gòu)成=3\*GB3③如果<,則=+1,重復(fù)=2\*GB3②,否則結(jié)束運算。以下分別畫出=0,1,...,8階段的分形樹。如圖,注意到,不論多大,也就是不管迭代多少次,樹杈越來越密,但是永遠(yuǎn)不會充滿整個區(qū)域,這個特點可以利用Matlab同性工具欄的放大鏡看到。于是,這棵樹的樹杈長度綜合可無限增大,但是樹杈占據(jù)的面積永遠(yuǎn)為零,這就是所謂的二維分形。分形的一個重要特征就是自相似,即局部是整體的相似形,通過圖形放大鏡可以展現(xiàn)這個特征。標(biāo)準(zhǔn)的自相似分形是數(shù)學(xué)對現(xiàn)實的抽象,實際分形的形體自相似性大多是統(tǒng)計意義上的。如果畫一顆每階段在每段數(shù)段上長兩個分叉的分形樹,一個分叉向左,一個分叉向右,就會發(fā)現(xiàn)按照上面的思路夠早的算法計算速度很慢??梢栽诔绦蜷_始前加上指令,在結(jié)尾后加上,則程序運行完后會顯示運行時間。如果你意識到所編的程序運行很慢,需要改進(jìn)程序,就要注意學(xué)習(xí)Matlab變成的規(guī)范和技巧。例如在下面的程序中,運用矩陣運算替換了tree.m中的循環(huán),可以提高運算速度。改進(jìn)后的圖:五、程序代碼第一題pass.m文件代碼functionm=pass(T)k=50;t=zeros(1,k);%計算k=50輛車,每輛汽車通過路口時間將記錄在t中.tt=solve('-(n-1)*7+(t-N)^2');%此一元二次方程的2個解中的第1個為正.tt1=11(1);%第n輛車以加速度通過路口時間tt1(n).ttt=solve('-(n-1)*7+5.5^2+11*(t-n-5.5)');%第n輛車以最大限速通過路口時間ttt(n)。forn=1:k;t0=5.5+n;x=subs(tt1,n);ifx>t0%第n輛車以加速度行駛未達(dá)到路口前已達(dá)到最大限速.t(n)=subs(ttt,n);%它一定以最大限速通過路口.elset(n)=x;%否則,它以加速度過路口.endend第二題圖像做舊的程序代碼>>loadmask;%讀取MATLAB本身附帶的索引圖mask,自動存為x>>mm=X;%mm數(shù)據(jù)類型是雙精度double,數(shù)值在(0,1)中>>loadface_mos;%讀取MATLAB本身附帶的索引圖mask,自動存為X>>nn=X;%nn數(shù)據(jù)類型是整數(shù)型,數(shù)值去0到255>>mn1=0.5*mm+0.5*double(nn);%都轉(zhuǎn)變成雙精度數(shù)據(jù),在進(jìn)行運算>>mn2=0.8*mm+0.2*double(nn);%取不同的融合比例,得到不同的結(jié)果>>subplot(2,2,1),imshow(mm,[]);subplot(2,2,2),imshow(nn,[]);subplot(2,2,3),imshow(mn1,[]);subplot(2,2,4),imshow(mn2,[]);%[]作用是拉伸灰度圖示圖像第三題第(1)步:畫一個點P(2.5,3)u=[2.53];%用1行2列矩陣表示一個點的坐標(biāo)plot(u(1),u(2),'*')%畫點,橫坐標(biāo)在前,縱坐標(biāo)在后,用*號顯示第(2)步:畫兩個點,>>u=[2.53;6.56];%用兩行兩列矩陣表示兩個點的坐標(biāo)plot(u(:,1),u(:,2),'*')%矩陣第一列u(:,1)表示橫坐標(biāo),第二列u(:,2)表示縱坐標(biāo)axis([2,7,2,7])%給定橫坐標(biāo)范圍[2,7],縱坐標(biāo)范圍[2,7]第(3)步:畫兩個點,及其連線上的中點。u=[2.53;6.56];p0=(u(1,:)+u(2,:))/2;%在取中點u=[u(1,:);p0;u(2,:)];%在原點u中間添入中點坐標(biāo)plot(u(:,1),u(:,2),'*-'),axis([2,7,2,7])第(4)步:u=[2.53;6.56];v=(u(2,:)-u(1,:))/2;%v表示經(jīng)平移、縮小后的向量OP的終點坐標(biāo)A=[cos(pi/6)sin(pi/6);-sin(pi/6)cos(pi/6)]A=0.86600.5000-0.50000.8660>>Ip=p0+v*A;%Ip表示經(jīng)旋轉(zhuǎn)、再平移后的向量P_OP_L的終點坐標(biāo)u=[u(1,:);p0;Ip;p0;u(2,:)];plot(u(:,1),u(:,2),'*-'),axis([2,7,2,7])第(5)步branch.m文件代碼functionu=branch(v,theta)p0=(v(2,:)+v(1,:))/2;v1=(v(2,:)-v(1,:))/2;A=[cos(theta)sin(theta);-sin(theta)cos(theta)];lp=p0+v1*A;u=[v(1,:);p0;p0;lp;p0;v(2,:)];endtree.m文件代碼functionw=tree(u,theta)uuu=[];forj=0;(length(u)/2-1)%ê÷??×üêyê?uDDêy£¨3¤?è£?μ?ò?°??£u0=u((2*j+1):(2*j+2),:);%òà′?è????óuμ?á?DD113éò???D?μ?£¨ê÷??£????óu£¨£?uu=branch(u0,theta);%μ÷ó?éú3éê÷è?μ?×ó3ìDò£?éú3éò??|ê÷è?uuu=[uuu;uu];%òàDò?????ùóDê÷è?endw=uuu;%μ?μ?±??×??D?μ?ê÷?£end分形樹代碼>>clearu=[00;01];subplot(3,3,1),plot(u(:,1),u(:,2)),%逐行逐列畫出3行3列9幅圖,先將u對應(yīng)的圖放在第1位。axis([-0.5,0.5,0,1]);%指定圖形的坐標(biāo)范圍fork=1:8w=tree(u,pi/6);u=w;subplot(3,3,k+1),plot(u(:,1),u(:,2)),%將第k階段生長的樹放在第k+1位axis([-0.5,0.5,0,1])endans=

溫馨提示

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

最新文檔

評論

0/150

提交評論