亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? march.m

?? 計算水聲傳播的時域波數積分程序
?? M
字號:
function march( c2R, c2I, rho, x, Ik, deltak, rr )

% Solve system for a sequence of k-values

global NMedia N H
global Pulse fMin fMax tStart alpha beta V
global tout deltat
global cLow cHigh
global omega Bdry
global WS Isd WR Ird Z
global Green RTSrd RTSrr

MaxIT   = 1e6;
deltat2 = deltat^2;

% March a single spectral component forward in time
NTot1 = sum( N ) + 1;
AD0   = zeros( NTot1, 1 );
AE0   = zeros( NTot1, 1 );
AD1   = zeros( NTot1, 1 );
AE1   = zeros( NTot1, 1 );
AD2   = zeros( NTot1, 1 );
AE2   = zeros( NTot1, 1 );
Ke    = zeros( 2, 2 );
Ce    = zeros( 2, 2 );
Me    = zeros( 2, 2 );

% Assemble mass and stiffness matrices

rkT  = sqrt( x );

Node = 1;
L    = 1;

for medium = 1 : NMedia
    hElt = H( medium );

    for I = 1 : N( medium )
        rhoElt = ( rho( L ) + rho( L + 1 ) ) / 2.0;
        c2RElt = ( c2R( L ) + c2R( L + 1 ) ) / 2.0;
        c2IElt = ( c2I( L ) + c2I( L + 1 ) ) / 2.0;
        rhoh   = rhoElt * hElt;

        % Elemental stiffness matrix ( +k2 term )
        y = 1.0 + i * rkT * V * c2IElt;
        z = hElt * x * ( y - V * V / c2RElt ) / rhoElt / 6.0;
        Ke( 1, 1 ) =  y / rhoh + (3.0-alpha) * z;
        Ke( 1, 2 ) = -y / rhoh +      alpha  * z;
        Ke( 2, 2 ) =  y / rhoh + (3.0-alpha) * z;

        % Elemental damping matrix
        xx = hElt * x / rhoElt / 6.0;
        z  = hElt * 2.0 * i * rkT * V / c2RElt / rhoElt / 6.0;
        Ce( 1, 1 ) = c2IElt * ( 1.0/rhoh + (3.0-alpha) * xx) + (3.0-alpha) * z;
        Ce( 1, 2 ) = c2IElt * (-1.0/rhoh +      alpha  * xx) +      alpha  * z;
        Ce( 2, 2 ) = c2IElt * ( 1.0/rhoh + (3.0-alpha) * xx) + (3.0-alpha) * z;

        % Elemental mass matrix
        Me( 1, 1 ) = (3.0-alpha) * hElt / ( rhoElt * c2RElt ) / 6.0;
        Me( 1, 2 ) =      alpha  * hElt / ( rhoElt * c2RElt ) / 6.0;
        Me( 2, 2 ) = (3.0-alpha) * hElt / ( rhoElt * c2RElt ) / 6.0;

        % A2 matrix
        AD2( Node   ) = AD2( Node ) + ...
            Me(1,1) + 0.5 * deltat * Ce(1,1) + beta * deltat2 * Ke(1,1);
        AE2( Node+1 ) = Me(1,2) + 0.5 * deltat * Ce(1,2) + beta * deltat2 * Ke(1,2);
        AD2( Node+1 ) = Me(2,2) + 0.5 * deltat * Ce(2,2) + beta * deltat2 * Ke(2,2);

        % A1 matrix
        AD1( Node   ) = AD1( Node ) + ...
            2.0*Me(1,1) - ( 1.0 - 2.0*beta ) * deltat2 * Ke(1,1);
        AE1( Node+1 ) = 2.0*Me(1,2) - ( 1.0 - 2.0*beta ) * deltat2 * Ke(1,2);
        AD1( Node+1 ) = 2.0*Me(2,2) - ( 1.0 - 2.0*beta ) * deltat2 * Ke(2,2);

        % A0 matrix
        AD0( Node   ) = AD0( Node ) ...
            -Me(1,1) + 0.5 * deltat * Ce(1,1) - beta * deltat2 * Ke(1,1);
        AE0( Node+1 ) = -Me(1,2) + 0.5 * deltat * Ce(1,2) - beta * deltat2 * Ke(1,2);
        AD0( Node+1 ) = -Me(2,2) + 0.5 * deltat * Ce(2,2) - beta * deltat2 * Ke(2,2);

        Node = Node + 1;
        L    = L    + 1;
    end
    L = L + 1;
end

%factor( NTot1, AD2, AE2, RV1, RV2, RV3, RV4 )  % * Factor A2 *

% * Initialize pressure vectors *
U0 = zeros( NTot1, 1 );
U1 = zeros( NTot1, 1 );

% Initializate parameters for bandpass filtering of the source time series
if ( Pulse(4:4) == 'L' || Pulse(4:4) == 'B' )
    fLoCut = rkT * cLow / ( 2.0 * pi );
else
    fLoCut = 0.0;
end

if ( Pulse(4:4) == 'H' || Pulse(4:4) == 'B' )
    fHiCut = rkT * cHigh / ( 2.0 * pi );
else
    fHiCut = 10.0 * fMax;
end

time   = 0.0;
IniFlag = 1;   % need to tell source routine to refilter for each new value of k

% Forward, march
n  = length( AE0 );
AF0 = [ AE0( 2 : end ); 0 ];    % to conform to Matlab convention relating diagonals to the matrix
AF1 = [ AE1( 2 : end ); 0 ];
A0 = spdiags( [ AF0 AD0 AE0 ], -1:1, n, n );
A1 = spdiags( [ AF1 AD1 AE1 ], -1:1, n, n );
Itout = 1;

for Itime = 1 : MaxIT
    time  = tStart + ( Itime - 1 ) * deltat;
    NTot1 = length( U0 );

    % ** Form U2TEMP = A1*U1 + A0*U0 + S **
    U2 = A1 * U1 + A0 * U0;

    %Ntpts = 1;
    %timeV( 1 ) = time; 	% source expects a vector, not a scalar
    %source( timeV, ST, sd, Nsd, Ntpts, omega, fLoCut, fHiCut, Pulse, PulseTitle, IniFlag );
    [ ST, PulseTitle ] = cans( time, omega, Pulse );
    
    ST = deltat2 * ST * exp( -i * rkT * V * time );
    js = Isd;    % assumes source in first medium
    U2( js   ) = U2( js   ) + ( 1.0 - WS ) * ST;
    U2( js+1 ) = U2( js+1 ) +         WS   * ST;

    % Solve A2*U2 = U2TEMP
    if ( alpha == 0.0 && beta == 0.0 )   % explicit solver
        U2 = U2 ./ AD2;
    else
        backsb( NTot1, RV1, RV2, RV3, RV4, U2 );   % implicit solver
    end
    
    % Do a roll
    U0 = U1;
    U1 = U2;

    % Boundary conditions (natural is natural)
    if ( Bdry.Top.Opt(2:2) == 'V' )
        U1( 1 )     = 0.0;
    end
    if ( Bdry.Bot.Opt(1:1) == 'V' )
        U1( NTot1 ) = 0.0;
    end

    % Extract solution (snapshot, vertical or horizontal array)
    while ( ( Itout <= length( tout ) ) && ( time + deltat >= tout( Itout ) ) )
        % above can access tout( ntout + 1 ) which is outside array dimension but result is irrelevant
        wt = ( tout( Itout ) - time ) / deltat;  % Weight for temporal interpolation:

        switch ( Bdry.Top.Opt(4:4) )
            case ( 'S' ) % snapshot
                const = exp( i * rkT * V * tout( Itout ) );
                UT1 = U0( Ird ) + WR .* ( U0( Ird+1 ) - U0( Ird ) );   % Linear interpolation in depth
                UT2 = U1( Ird ) + WR .* ( U1( Ird+1 ) - U1( Ird ) );
                Green( Itout, :, Ik ) = const * ( UT1 + wt * ( UT2 - UT1 ) );   % Linear interpolation in time

            case ( 'D' ) % RTS (vertical array)
                const =  sqrt( 2.0 ) * deltak * sqrt( rkT ) * exp( i*( rkT * ( V * tout( Itout ) - rr( 1 ) ) + pi / 4.0 ) );
                UT1 = U0( Ird ) + WR .* ( U0( Ird+1 ) - U0( Ird ) );   % Linear interpolation in depth
                UT2 = U1( Ird ) + WR .* ( U1( Ird+1 ) - U1( Ird ) );
                U   = UT1 + wt * ( UT2 - UT1 );                        % Linear interpolation in time
                RTSrd( :, Itout ) = RTSrd( :, Itout ) + real( const * U );

            case ( 'R' ) % RTS (horizontal array)
                if ( time >= tout( 1 ) )
                    % Linear interpolation in depth
                    I     = Ird( 1 );
                    T     = ( rd( 1 ) - Z( I ) ) / ( Z( I + 1 ) - Z( I ) );
                    UT1   = U0( I ) + T * ( U0( I+1 ) - U0( I ) );
                    UT2   = U1( I ) + T * ( U1( I+1 ) - U1( I ) );
                    U     = UT1 + wt * ( UT2 - UT1 );                       % Linear interpolation in time
                    const = sqrt( 2.0 ) * exp( i * rkT * V * time );
                    RTSrr( :, Itout ) = RTSrr( :, Itout ) + real( deltak * U *  ...
                        const * exp( i * ( -rkT * r + pi / 4.0 ) ) * sqrt( rkT / rr ) );
                end
        end
        Itout = Itout + 1;
    end
    if ( Itout > length( tout ) )    % jump out of while loop and do next wavenumber
        break;
    end
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女主播一区| 欧美最新大片在线看| 成人精品鲁一区一区二区| 色哟哟一区二区| 2欧美一区二区三区在线观看视频| 亚洲视频每日更新| 国产一区激情在线| 欧美久久免费观看| 亚洲丝袜美腿综合| 成人午夜视频福利| 精品日韩欧美一区二区| 天天综合网 天天综合色| 波多野结衣中文一区| 欧美精品一区二| 久久99最新地址| 欧美一卡2卡三卡4卡5免费| 亚洲男人的天堂在线观看| 成人激情文学综合网| 久久亚洲一区二区三区明星换脸 | 美女一区二区视频| 91久久香蕉国产日韩欧美9色| 欧美极品xxx| 国产白丝网站精品污在线入口| 欧美xxxxxxxx| 久久国产三级精品| 精品久久久久一区| 国产一区二区在线观看免费 | 在线一区二区三区做爰视频网站| 欧美激情一区二区在线| 国产中文字幕一区| 欧美成人国产一区二区| 麻豆国产精品视频| 精品国产三级电影在线观看| 轻轻草成人在线| 日韩精品一区二区三区在线观看| 免费观看一级特黄欧美大片| 欧美精品日韩精品| 蜜乳av一区二区| 久久精品这里都是精品| 国产a精品视频| 国产精品夫妻自拍| 欧美私人免费视频| 久久国产三级精品| 欧美经典三级视频一区二区三区| thepron国产精品| 亚洲精品高清在线观看| 777久久久精品| 国产在线国偷精品产拍免费yy| 国产欧美一区二区三区在线看蜜臀 | 日韩一区欧美小说| 色欧美日韩亚洲| 人人狠狠综合久久亚洲| 精品国产一区二区亚洲人成毛片| 国产精品91一区二区| 中文字幕高清一区| 欧美午夜一区二区| 精品在线你懂的| 亚洲欧美一区二区三区国产精品 | 亚洲成va人在线观看| 日韩视频中午一区| 成人蜜臀av电影| 婷婷六月综合网| 中文天堂在线一区| 欧美精品三级日韩久久| 国产成人在线观看免费网站| 一区二区三区四区精品在线视频 | 91精彩视频在线观看| 日本vs亚洲vs韩国一区三区| 国产三级精品三级在线专区| 欧美日韩一区在线观看| 国产传媒久久文化传媒| 亚洲综合偷拍欧美一区色| 久久久美女毛片| 欧美色图天堂网| 成人a区在线观看| 另类的小说在线视频另类成人小视频在线 | av一本久道久久综合久久鬼色| 亚洲成av人片一区二区| 国产亚洲一本大道中文在线| 欧美美女一区二区在线观看| 不卡一区二区三区四区| 免费观看一级特黄欧美大片| 亚洲色图视频免费播放| 精品黑人一区二区三区久久| 欧美日韩综合不卡| 99久久婷婷国产综合精品电影| 蜜臀精品久久久久久蜜臀| 最近中文字幕一区二区三区| 精品剧情在线观看| 欧美日韩成人在线| 蜜桃久久av一区| 午夜精品在线看| 轻轻草成人在线| 日韩视频一区二区三区| 一本一本大道香蕉久在线精品| 国产传媒一区在线| 久久99这里只有精品| 午夜精品久久久久久久久| 中文字幕在线一区免费| 久久婷婷一区二区三区| 3d动漫精品啪啪| 欧美色成人综合| 91福利精品视频| 日本黄色一区二区| 色天使久久综合网天天| 色先锋aa成人| 色婷婷一区二区| 色综合久久精品| 色婷婷av一区二区三区之一色屋| 99精品欧美一区二区三区综合在线| 国产麻豆91精品| 国产激情精品久久久第一区二区| 狠狠色丁香婷综合久久| 日本中文字幕一区二区有限公司| 亚洲国产日韩a在线播放| 亚洲尤物视频在线| 亚洲va在线va天堂| 日韩中文字幕区一区有砖一区 | 欧美亚日韩国产aⅴ精品中极品| www.亚洲在线| 日本久久电影网| 欧美午夜宅男影院| 欧美一区二区在线免费观看| 日韩免费观看高清完整版 | 欧美日韩五月天| 欧美日韩成人综合天天影院 | 日本道免费精品一区二区三区| 色激情天天射综合网| 91福利视频网站| 欧美人妖巨大在线| 欧美不卡一区二区三区四区| 欧美不卡视频一区| 国产欧美中文在线| 亚洲柠檬福利资源导航| 亚洲国产精品综合小说图片区| 午夜精品视频在线观看| 日韩精品乱码av一区二区| 蓝色福利精品导航| 国产91精品入口| 欧美亚洲一区二区三区四区| 欧美一卡在线观看| 国产欧美一区二区三区沐欲| 亚洲三级电影网站| 亚洲一区二区三区四区五区中文| 视频在线在亚洲| 国产乱人伦精品一区二区在线观看| 波多野结衣精品在线| 欧美视频一区二区三区四区| 日韩精品一区二区三区在线| 国产精品久久久久久久久动漫| 一区二区三区高清| 久久99国产精品尤物| 99re6这里只有精品视频在线观看| 欧美日韩成人综合在线一区二区| 久久午夜免费电影| 亚洲一区中文日韩| 国产精品456露脸| 精品视频1区2区3区| 国产午夜精品福利| 午夜电影网亚洲视频| 丁香亚洲综合激情啪啪综合| 911国产精品| 国产精品国产三级国产普通话蜜臀| 天天操天天干天天综合网| 成人免费高清视频在线观看| 欧美一区二区美女| 亚洲在线中文字幕| 成人性生交大片| 精品国产一区久久| 日日夜夜一区二区| 91在线高清观看| 国产午夜一区二区三区| 日韩国产欧美三级| 在线观看免费亚洲| 中文字幕在线不卡一区二区三区| 青青青伊人色综合久久| 99久久免费视频.com| 久久综合九色综合97婷婷 | 制服丝袜成人动漫| 亚洲欧美一区二区三区孕妇| 国产成人精品午夜视频免费| 日韩天堂在线观看| 偷拍亚洲欧洲综合| 欧美日韩久久不卡| 一区二区在线观看不卡| 成人av电影免费在线播放| 久久久久久综合| 国产一区二三区好的| 精品久久久久久综合日本欧美| 亚欧色一区w666天堂| 91精品福利视频| 亚洲一区二区高清| 色老头久久综合| 亚洲国产精品一区二区久久 | 精品国产99国产精品| 日本成人在线一区| 3atv一区二区三区| 蜜乳av一区二区三区| 欧美成人精品高清在线播放| 久久精品久久久精品美女|