版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度醫(yī)院醫(yī)技人員技能提升合同4篇
- 打雜工合同范本(2篇)
- 二零二五年度農(nóng)村土地整治項(xiàng)目承包合同書(shū)4篇
- 二零二五年度充電樁充電服務(wù)補(bǔ)貼資金管理合同3篇
- 二零二五版高端鎳氫電池產(chǎn)品定制研發(fā)合同范本4篇
- 二零二五年度農(nóng)場(chǎng)租賃合同農(nóng)業(yè)生態(tài)修復(fù)與保護(hù)協(xié)議4篇
- 2025年度房地產(chǎn)租賃合同房屋質(zhì)量及維修責(zé)任約定4篇
- 2025年互聯(lián)網(wǎng)+內(nèi)資股東股權(quán)投資合同
- 二零二五版智能門禁系統(tǒng)與電梯聯(lián)動(dòng)工程合同3篇
- 2025年度互聯(lián)網(wǎng)企業(yè)程序員聘用合同模板
- 2024年中考語(yǔ)文滿分作文6篇(含題目)
- 第一節(jié)-貨幣資金資料講解
- 如何提高售后服務(wù)的快速響應(yīng)能力
- 北師大版 2024-2025學(xué)年四年級(jí)數(shù)學(xué)上冊(cè)典型例題系列第三單元:行程問(wèn)題“拓展型”專項(xiàng)練習(xí)(原卷版+解析)
- 2023年譯林版英語(yǔ)五年級(jí)下冊(cè)Units-1-2單元測(cè)試卷-含答案
- Unit-3-Reading-and-thinking課文詳解課件-高中英語(yǔ)人教版必修第二冊(cè)
- 施工管理中的文檔管理方法與要求
- DL∕T 547-2020 電力系統(tǒng)光纖通信運(yùn)行管理規(guī)程
- 種子輪投資協(xié)議
- 執(zhí)行依據(jù)主文范文(通用4篇)
- 浙教版七年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)課件
評(píng)論
0/150
提交評(píng)論