科創(chuàng)數(shù)模樹(shù)模wanglili建模_第1頁(yè)
科創(chuàng)數(shù)模樹(shù)模wanglili建模_第2頁(yè)
科創(chuàng)數(shù)模樹(shù)模wanglili建模_第3頁(yè)
科創(chuàng)數(shù)模樹(shù)模wanglili建模_第4頁(yè)
科創(chuàng)數(shù)模樹(shù)模wanglili建模_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1fidinfopen('城市微小區(qū)地圖對(duì)應(yīng)的數(shù)據(jù).txt');line_number=1;i=whiletline=ifstr2num(tline(1))==0pointlist(index_list)=pointnumber;pointnumber=0;index_list=index_list+1;data.X(line_number)=str2num(tline(1:21));line_number=line_number+1;pointnumber=pointnumber+1;ift=holdon;t=t+2clearallcloseall;tp= tp=tp+cot((pi-a2+a1)/2/n).*F(k*L*2*(cos((2*pi*n*N1-a2+a1)/2)).^2);tp=tp-cot((pi+a2+a1)/2/n).*F(k*L*2*(cos((2*pi*n*N2-a2-a1)/2)).^2);tp=tp-cot((pi-a2-a1)/2/n).*F(k*L*2*(cos((2*pi*n*N1-a2-a1)/2)).^2);symstfori=1:length(xall)x=xall(i);ifelseifx>10elseif(x>=0.001)&&(x<=10);1111111111111-111111%[500;200]開(kāi)始,(7次以內(nèi)clearallN=z_end=[300;350];%接收點(diǎn)fori=1:N%對(duì)于每個(gè)角度z_bgn450;250];%開(kāi)始點(diǎn)tht=2*pi/N*i;path{i}=N_rflzeros(1,2);%while f_seek_intersec(z_bgn,tht,rec_seg_y,'row'); f_seek_intersec(z_bgn,tht,rec_seg_x,'clm');ifdistance_y<distance_xilne_min=ilne_min_y;intersec=intersec_y;typ_rfl=typ_rfl_y;

intersec=intersec_x;typ_rfl=typ_rfl_x;clearilne_min_yintersec_ytheta_intersec_ydistance_ytyp_rfl_yilne_min_xintersec_xtheta_intersec_xdistance_xtyp_rfl_xiftyp_rfl

iff_ifExceedTimes(N_rfl)z_bgn=

tht=p(:,1)=p(:,2)=ifj<7+1end;clearj;%hold end;clearifunction[ilne_min,intersec,theta_intersec,distance,typ_rfl]=f_seek_intersec(z,theta,segs,%z為起點(diǎn),thetasegstyprow'時(shí)為橫線段集合'clm'%縱線段時(shí),90度計(jì)算,再做相應(yīng)變換即可,因此首先只需考慮橫theta0=ifstrcmp(typ,'clm')theta=theta+pi/2;z=flipud(z);%theta_intersec_min=theta_intersec;distance=1e10;fori=ydfr=segs(i,1)-%外法方向與射線方向相反,intersec=z(1)-

intersec=z(1)+if(intersec-segs(i,2))*(intersec-segs(i,3))<=0%若交點(diǎn)段端點(diǎn)中間%?考慮繞射時(shí),須改disnow=(intersec-z(1))^2+ydfr^2;ifdisnow<distanceilne_min= theta_intersec_min=sin(theta)*pi/2-theta_intersec;distance=disnow;

if1

typ_rfl1;%typ_rfl2;%clearend;cleartheta_intersec=pi-theta0;%clear

theta_intersec=-theta0;%clearifdistance==1e10ilne_min=-ifsin(theta)>ybiankuang=

ybiankuang=ifstrcmp(typ,intersec=z(1)-

intersec=z(1)+

;];;

intersec=function[rec_seg_y,rec_seg_x]=f_rec_seg()rec_seg_y=load('SegY.txt');rec_seg_x=load('SegX.txt');rec_seg_x=sortrows(rec_seg_x,1);functionif_E=f_ifExceedTimes(N)if_E=0;ifN(1)>7+1||N(2)>if_E=%%close%p_bgnz_end之間,n_mostrfl%p_bgn=%z_end=%z_end=%n_mostrfl=%N=Np_bgn射出的均勻射線的條數(shù)[rec_seg_y,rec_seg_x]=f_rec_seg();eps_frl=1;%NSeg=[size(rec_seg_y,1),size(rec_seg_x,1)];fl_rec_Nrfl=fopen('Rec_Nrfl.txt','w');if_success=zeros(N,1);path_success={};Nrfl_success=[];fori1:N%z_bgn=p_bgn;tht0=2*pi/N*i;tht=tht0;N_rfl=0;%反射次數(shù)while1 f_seek_intersec(z_bgn,tht,rec_seg_y,'row',z_end,eps_frl); f_seek_intersec(z_bgn,tht,rec_seg_x,'clm',z_end,eps_frl);ifdistance_y<ilne_min1;ilne_min_y];%注意:ilne_min

intersec=intersec_y;typ_rfl=typ_rfl_y;ilne_min=[2;ilne_min_x];intersec=intersec_x;typ_rfl=typ_rfl_x;clearilne_min_yintersec_ytheta_intersec_ydistance_ytyp_rfl_yilne_min_xintersec_xtheta_intersec_xdistance_xtyp_rfl_xpath{i}=[path{i},[intersec;ilne_min]];switchtyp_rflcase1%此時(shí)已經(jīng)到達(dá)終點(diǎn),path{i}(:,end)=[z_end;0;1000];if_success(i)=1;case0caseN_rflN_rfl1;case2%衍射

z_bgn=intersec;forj=1:size(path{i},2)-1p(:,2)=plot(p(1,1),p(2,1),'blacko');holdonifj<n_mostrflend;clearj;hold%%forj=1:size(path{i},2)-1p(:,2)=plot(p(1,1),p(2,1),'blacko');holdonifj<n_mostrflend;clear hold Nrfl_success(end+1)=N_rfl; %pauseend;clearifunction[ilne_min,intersec,theta_intersec,distance,typ_rfl]=f_seek_intersec(p_bgn,theta,segs,typ,p_end,eps_ys)%求以p_bgn為起點(diǎn),角度為theta的射線與線段集合segs的最近交點(diǎn)以及反射線的角typrow'時(shí)為橫線段集合'clm'%縱線段時(shí),90度計(jì)算,再做相應(yīng)變換即可,theta0theta;z=p_bgn;ifstrcmp(typ,'clm')theta=theta+pi/2;z=flipud(z);%theta_intersec_min=theta_intersec;distance=1e10;no_seg_ys=fori=ydfr=segs(i,1)-%外法方向與射線方向相反,intersec=z(1)-

intersec=z(1)+if(intersec-segs(i,2))*(intersec-segs(i,3))<0%若交 disnow=(intersec-z(1))^2+%記錄更近的交點(diǎn)所ifdisnow<distanceilne_min=i;intersec_min=[intersec;segs(i,1)];distance=disnow;%如果交點(diǎn)太靠端點(diǎn),不考慮為反射現(xiàn)象,但需單獨(dú)記錄該線段的編號(hào),因?yàn)閕fabs(intersec-segs(i,2))<eps_ys||abs(intersec-segs(i,3))<eps_ysno_seg_ys=[no_seg_ys,i]; if typ_rfl1;% typ_rfl2;% clearend;cleari

theta_intersec=pi-theta0;%cleartheta_intersec_mintheta_intersec=-theta0;%cleartheta_intersec_minifdistance==1e10ilne_min=-ifsin(theta)>ybiankuang=

ybiankuang=ifstrcmp(typ,intersec=z(1)-

intersec=z(1)+

typ_rfl=typ_rfl=1;%判斷最近交點(diǎn)處是否為衍射現(xiàn)象,若是,ifsum(ilne_min==no_seg_ys)typ_rfl=2;intersec=%%p_endp_bgnintersec之間,p_endscl=(p_end-p_bgn)./(intersec-ifabs((scl(1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論