⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_1d.m

📁 Spectral Element Method for wave propagation and rupture dynamics.
💻 M
字号:
P_OR_S = 1;T0 = 0.05;TW = T0;VP = 5e3;VS = 2887;L = 500;% Read parameters from header file[dt,nsamp,nsta] = textread('SeisHeader_sem2d.hdr','%n%n%n',1,'headerlines',1);[xsta,zsta] = textread('SeisHeader_sem2d.hdr','%f%f','headerlines',3);% Read seismogramsfid=fopen('Ux_sem2d.dat'); ux = fread(fid,[nsamp,nsta],'single') ; fclose(fid);fid=fopen('Uz_sem2d.dat'); uz = fread(fid,[nsamp,nsta],'single') ; fclose(fid);t = [1:nsamp]*dt;% offset by x coordinatedoff = abs(xsta(end)-xsta(1))/(nsta-1);offset = repmat( xsta', nsamp,1); if P_OR_S==1,   V=VP; u=ux; else  V=VS; u=uz; end% Plot all traces togetherfigure(1)clfascale = doff/max(abs(u(:)));plot(t,u*ascale +offset, T0+xsta/V,xsta,'.--',T0 - (xsta-2*L)/V,xsta,'.--' )xlabel('Time (s)')ylabel('Distance (m)')% Plot error / frequencyp1 = floor( (T0 + xsta/V - TW)/dt )+1;p2 = floor( (T0 - (xsta-2*L)/V -TW)/dt )+1;tw = 2*floor(TW/dt);ista = 1;nfft = 2^nextpow2(tw);ferr = abs( fft(u(p2(ista):p2(ista)+tw,ista),nfft) ) ...     ./ abs( fft(u(p1(ista):p1(ista)+tw,ista),nfft) );ferr = ferr(1:nfft/2+1);f = [0:nfft/2] /(nfft*dt);figure(2)clfloglog(f,ferr)err = norm(u(p2(ista):p2(ista)+tw,ista)) / norm(u(p1(ista):p1(ista)+tw,ista));title( sprintf('Relative RMS error = %g',err) )xlabel('Frequency (Hz)')ylabel('Relative error')grid on; grid minor

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -