科創(chuàng)數(shù)模樹模城市微小區(qū)地圖對應(yīng)數(shù)據(jù)txt_第1頁
科創(chuàng)數(shù)模樹模城市微小區(qū)地圖對應(yīng)數(shù)據(jù)txt_第2頁
科創(chuàng)數(shù)模樹模城市微小區(qū)地圖對應(yīng)數(shù)據(jù)txt_第3頁
科創(chuàng)數(shù)模樹模城市微小區(qū)地圖對應(yīng)數(shù)據(jù)txt_第4頁
科創(chuàng)數(shù)模樹模城市微小區(qū)地圖對應(yīng)數(shù)據(jù)txt_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

line_number=1;pointnumber=index_list=i=whiletline=ifstr2num(tline(1))==0pointnumber=0;data.X(line_number)=str2num(tline(1:21));line_number=line_number+1;pointnumber=pointnumber+1;ift=index_list=forindex_list=holdon;t=t+clearallcloseall;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);symstx=xall(i);ifelseifx>10elseif(x>=0.001)&&(x<=10);1111111111111-111111%[500;200]開始,(7次以內(nèi)clearallN=z_end=[300;350];%接收點(diǎn)fori=1: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_xintersec=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_rflN_rfl(typ_rfl)=N_rfl(typ_rfl)+

iff_ifExceedTimes(N_rfl)z_bgn=

tht=clearintersecp(:,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'時為橫線段集合'clm'%縱線段時,90度計算,再做相應(yīng)變換即可,因此首先只需考慮橫theta0=ifstrcmp(typ,'clm')z=flipud(z);%theta_intersec=-distance=1e10;fori=ydfr=segs(i,1)-ifsegs(i,4)*sin(theta)<0&&sin(theta)*ydfr>%外法方向與射線方向相反,intersec=z(1)-

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

if1

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

theta_intersec=-theta0;%clearilne_min=-ifsin(theta)>ybiankuang=

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

intersec=z(1)+

typ_rfl=0;intersec=intersec=rec_seg_y=load('SegY.txt');rec_seg_x=load('SegX.txt');rec_seg_x=sortrows(rec_seg_x,1);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;fl_rec_Nrfl=fopen('Rec_Nrfl.txt','w');if_success=zeros(N,1);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_min=[1;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_xswitchtyp_rflcase1%此時已經(jīng)到達(dá)終點(diǎn),if_success(i)=1;case0caseN_rflN_rfl1;case2%衍射

z_bgn=intersec;clearintersecforj=1:size(path{i},2)-1p(:,2)=ifj<n_mostrflend;clearj;hold%%forj=1:size(path{i},2)-1p(:,2)=ifj<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),thetasegs的最近交點(diǎn)以及反射線的角typrow'時為橫線段集合'clm'%縱線段時,90度計算,再做相應(yīng)變換即可,theta0theta;z=p_bgn;ifstrcmp(typ,'clm')z=flipud(z);%theta_intersec=-distance=1e10;no_seg_ys=fori=ydfr=segs(i,1)-ifsegs(i,4)*sin(theta)<0&&sin(theta)*ydfr>%外法方向與射線方向相反,intersec=z(1)-

intersec=z(1)+if(intersec-segs(i,2))*(intersec-segs(i,3))<0%若交點(diǎn)段端點(diǎn)中disnow=(intersec-z(1))^2+%記錄更近的交點(diǎn)所ilne_min=i;distance=disnow;%如果交點(diǎn)太靠端點(diǎn),不考慮為反射現(xiàn)象,但需單獨(dú)記錄該線段的編號,因?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;% clear

theta_intersec=pi-theta0;%cleartheta_intersec_mintheta_intersec=-theta0;%cleartheta_intersec_minilne_min=-ifsin(theta)>ybiankuang=

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

intersec=z(1)+

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

溫馨提示

  • 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

提交評論