📄 grwave.m
字号:
% ***********************************************************************% * *% * HFRSIM (RELAESE 2 17/07/2006 ). *% * COPYRIGHT (C) HIT EIE 2006. *% * *% ***********************************************************************% % ================================================================% = MODIFIED FOR MATLAB Version 7.0.4.365 (R14) Service Pack 2 = % = FOR WINDOWS PERSONAL COMPUTERS =% = July 2006 =% = Mr. Zhou Yang =% = Harbin Institute of Technology =% = mailto:hallychou@hotmail.com =% ================================================================function [grFreq,grDis,grEr,grBTL]=grwave(FMIN,FSTEP,FMAX,DMIN,DSTEP,DMAX,ANS,HSCALE,EPSLON,SIGMA,HRR,HTT,U)% Input Variables% Mparam=evalin('base','Mparam');% ANS = Mparam.ans; % The refractivity of the troposphere at the surface of the earth in N-units.% HSCALE = Mparam.hscale; % The scale height of the troposphere in kilometres.% FMIN = Mparam.FMin; % The minimum frequency in MHz.% FMAX = Mparam.FMax; % The maximum frequency in MHz.% FSTEP = Mparam.FStep; % The frequency step.% EPSLON = Mparam.epslon; % The relative permittivity of the surface of the earth.% SIGMA = Mparam.sigma; % The conductivity of the surface of the earth in S/m.% DMIN = Mparam.dmin; % The minimum range in kilometres.% DMAX = Mparam.dmax; % The maximum range in kilometres.% DSTEP = Mparam.dstep; % The range step. See LOGLIN for further explanation.% HRR = Mparam.hrr; % The receiver height in metres.% HTT = Mparam.htt; % The transmitter height in metres.% U = Mparam.u; % The wind speed in m/s.gr=[]; % 定义一个空矩阵。sign=floor((FMAX-FMIN)/FSTEP)+1;flag=0;progressbar; % 调用自制的进度条for FREQ=FMIN:FSTEP:FMAX, flag=flag+1;% pause(0.1); progressbar(flag/sign); % 更新进度条 % Write the input variables to file(inp.dat). fid = fopen('inp.dat','w'); fprintf(fid,'ANS %f\nHSCALE %f\nFREQ %f\nEPSLON %f\nSIGMA %f\nDMIN %f\nDMAX %f\nDSTEP %f\nHRR %f\nHTT %f\nU %f\nGO\n',... ANS,HSCALE,FREQ,EPSLON,SIGMA,DMIN,DMAX,DSTEP,HRR,HTT,U); fclose(fid); % Execute GRWAVE command and return result. dos grwave<inp.dat>out.dat; % Read the output data from file(out.dat). fid = fopen('out.dat', 'r'); tmp = fscanf(fid, '%g %g %g', [3 inf]); % It has three rows now. tmp = tmp'; fclose(fid); % 添加一列频率。 [m,n]=size(tmp); freqone=ones(m,1); tmp=[freqone*FREQ,tmp]; % 合并矩阵。 gr=[gr;tmp]; end% 单独输出矩阵的每一列。grFreq=gr;grFreq(:,2)=[];grFreq(:,2)=[];grFreq(:,2)=[];grDis=gr;grDis(:,1)=[];grDis(:,2)=[];grDis(:,2)=[];grEr=gr;grEr(:,1)=[];grEr(:,1)=[];grEr(:,2)=[];grBTL=gr;grBTL(:,1)=[];grBTL(:,1)=[];grBTL(:,1)=[];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -