版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國南水北調(diào)集團(tuán)中線限公司公開招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年陜西漢中市事業(yè)單位招聘工作人員66人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年湖北孝感市直部分事業(yè)單位招聘工作人員15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年江蘇南京市技術(shù)創(chuàng)新服務(wù)中心招考1人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省瀘州市古藺縣事業(yè)單位招聘20人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年江蘇省揚(yáng)州市邗江區(qū)事業(yè)單位招聘64人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省威遠(yuǎn)縣事業(yè)單位招聘37人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川南充市營山縣事業(yè)單位招聘137人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年事業(yè)單位聯(lián)考湖北招聘歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 現(xiàn)金流管理的未來趨勢探討
- 江蘇省徐州市重點(diǎn)中學(xué)高三第四次模擬考試新高考英語試卷及答案解析
- AQ-T 1121-2023 煤礦安全現(xiàn)狀評價實(shí)施細(xì)則
- 廣西壯族自治區(qū)桂林市2023-2024學(xué)年七年級下學(xué)期期末考試數(shù)學(xué)試題
- 2024年二級建造師繼續(xù)教育題庫及答案(500題)
- 2024國家安全員資格考試題庫(含答案)
- 《航空工程材料》教學(xué)大綱
- 物聯(lián)網(wǎng)綜合測試題和答案全
- MOOC 制造技術(shù)基礎(chǔ)訓(xùn)練-北京理工大學(xué) 中國大學(xué)慕課答案
- MOOC 英語話中華-山東大學(xué) 中國大學(xué)慕課答案
- 超星爾雅學(xué)習(xí)通《形象管理(南開大學(xué))》2024章節(jié)測試答案
- 生物化學(xué)(華南農(nóng)業(yè)大學(xué))智慧樹知到期末考試答案2024年
評論
0/150
提交評論